@2kw/ai-mcp-server 5.1.0 → 5.2.0-dev.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -83
- package/dist/index.js +4 -2
- package/package.json +23 -2
package/README.md
CHANGED
|
@@ -1,43 +1,15 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 2kw.ai MCP Server
|
|
2
2
|
|
|
3
|
-
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server
|
|
3
|
+
An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for [2kw.ai](https://2kw.ai) — the EU-hosted AI integration platform. It gives AI coding assistants like Claude Code, Cursor, and Windsurf direct access to an [OpenAI-compatible LLM gateway](https://2kw.ai/gateway), [schema-driven document extraction](https://2kw.ai/extraction), audio transcription, and [cost observability](https://2kw.ai/observability) — 86 tools, straight from your editor.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install -g @manfred-kunze-dev/backbone-mcp-server
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Or run directly with `npx` (no install needed):
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npx @manfred-kunze-dev/backbone-mcp-server
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Quick Start
|
|
5
|
+
Typical prompts once installed: *"extract the line items from this invoice PDF"*, *"create a schema for purchase orders and test it against these samples"*, *"transcribe this call recording"*, *"what did our extraction traffic cost this week?"*.
|
|
18
6
|
|
|
19
|
-
|
|
20
|
-
2. Add the server to your IDE's MCP configuration (see below)
|
|
21
|
-
3. Start asking your AI assistant to manage your Backbone resources
|
|
22
|
-
|
|
23
|
-
## IDE Configuration
|
|
7
|
+
## Installation
|
|
24
8
|
|
|
25
9
|
### Claude Code
|
|
26
10
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```json
|
|
30
|
-
{
|
|
31
|
-
"mcpServers": {
|
|
32
|
-
"backbone": {
|
|
33
|
-
"command": "npx",
|
|
34
|
-
"args": ["@manfred-kunze-dev/backbone-mcp-server"],
|
|
35
|
-
"env": {
|
|
36
|
-
"BACKBONE_API_KEY": "sk_your_api_key"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
11
|
+
```bash
|
|
12
|
+
claude mcp add 2kw --env AI_2KW_API_KEY=sk_your_api_key -- npx -y @2kw/ai-mcp-server
|
|
41
13
|
```
|
|
42
14
|
|
|
43
15
|
### Cursor
|
|
@@ -47,11 +19,11 @@ Add to `.cursor/mcp.json` in your project root:
|
|
|
47
19
|
```json
|
|
48
20
|
{
|
|
49
21
|
"mcpServers": {
|
|
50
|
-
"
|
|
22
|
+
"2kw": {
|
|
51
23
|
"command": "npx",
|
|
52
|
-
"args": ["@
|
|
24
|
+
"args": ["-y", "@2kw/ai-mcp-server"],
|
|
53
25
|
"env": {
|
|
54
|
-
"
|
|
26
|
+
"AI_2KW_API_KEY": "sk_your_api_key"
|
|
55
27
|
}
|
|
56
28
|
}
|
|
57
29
|
}
|
|
@@ -60,63 +32,44 @@ Add to `.cursor/mcp.json` in your project root:
|
|
|
60
32
|
|
|
61
33
|
### Windsurf
|
|
62
34
|
|
|
63
|
-
Add to `.windsurf/mcp.json
|
|
35
|
+
Add the same block to `.windsurf/mcp.json`. Any MCP-compatible client works with this configuration pattern — the server speaks stdio by default and streamable HTTP when `MCP_TRANSPORT=http`.
|
|
64
36
|
|
|
65
|
-
|
|
66
|
-
{
|
|
67
|
-
"mcpServers": {
|
|
68
|
-
"backbone": {
|
|
69
|
-
"command": "npx",
|
|
70
|
-
"args": ["@manfred-kunze-dev/backbone-mcp-server"],
|
|
71
|
-
"env": {
|
|
72
|
-
"BACKBONE_API_KEY": "sk_your_api_key"
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### OpenAI Codex CLI
|
|
80
|
-
|
|
81
|
-
Add to `~/.codex/config.json`:
|
|
82
|
-
|
|
83
|
-
```json
|
|
84
|
-
{
|
|
85
|
-
"mcpServers": {
|
|
86
|
-
"backbone": {
|
|
87
|
-
"command": "npx",
|
|
88
|
-
"args": ["@manfred-kunze-dev/backbone-mcp-server"],
|
|
89
|
-
"env": {
|
|
90
|
-
"BACKBONE_API_KEY": "sk_your_api_key"
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
Works with any MCP-compatible client using the same configuration pattern.
|
|
37
|
+
Get an API key from your [2kw.ai dashboard](https://2kw.ai) — paid plans start with a 7-day free trial.
|
|
98
38
|
|
|
99
39
|
## Environment Variables
|
|
100
40
|
|
|
101
41
|
| Variable | Required | Default | Description |
|
|
102
42
|
|----------|----------|---------|-------------|
|
|
103
|
-
| `
|
|
104
|
-
| `
|
|
43
|
+
| `AI_2KW_API_KEY` | Yes | — | API key for the 2kw.ai platform (legacy alias: `BACKBONE_API_KEY`) |
|
|
44
|
+
| `AI_2KW_BASE_URL` | No | 2kw.ai cloud API | Point at a self-hosted deployment (legacy alias: `BACKBONE_BASE_URL`) |
|
|
105
45
|
| `MCP_TRANSPORT` | No | `stdio` | Transport mode: `stdio` or `http` |
|
|
106
46
|
| `MCP_HTTP_PORT` | No | `3100` | Port for HTTP transport |
|
|
107
47
|
|
|
108
48
|
## Available Tools
|
|
109
49
|
|
|
110
|
-
| Category |
|
|
111
|
-
|
|
112
|
-
| **
|
|
113
|
-
| **
|
|
114
|
-
| **
|
|
115
|
-
| **Transcription** | Transcribe audio
|
|
116
|
-
| **
|
|
117
|
-
| **
|
|
118
|
-
|
|
119
|
-
|
|
50
|
+
| Category | What your assistant can do |
|
|
51
|
+
|----------|---------------------------|
|
|
52
|
+
| **Document conversion** | Convert PDF, DOCX, XLSX, images, and 20+ formats to Markdown/text/HTML/JSON |
|
|
53
|
+
| **Data extraction** | Run schema-driven extractions (sync/async), estimate tokens, re-run, inspect results |
|
|
54
|
+
| **AI Gateway** | Chat completions through the OpenAI-compatible gateway, list available models |
|
|
55
|
+
| **Transcription** | Transcribe audio (FLAC, MP3, MP4, OGG, WAV, WebM) to text, JSON, SRT, VTT |
|
|
56
|
+
| **Schemas** | CRUD, versioning, labels, validation, and testing against sample documents |
|
|
57
|
+
| **Prompts** | Versioned prompt management, labels, compilation, testing |
|
|
58
|
+
| **Datasets & experiments** | Build datasets, run experiments, manage evaluators, record scores |
|
|
59
|
+
| **Observability** | Analytics (spend, quality, providers, errors), traces, billing limits |
|
|
60
|
+
| **API docs** | Browse the platform API documentation by section |
|
|
61
|
+
|
|
62
|
+
## Why 2kw.ai
|
|
63
|
+
|
|
64
|
+
- **EU data residency** — built-in models run GDPR-compliant and EU-hosted, operated by Manfred Kunze Development GmbH (Germany)
|
|
65
|
+
- **One platform** — gateway, extraction, transcription, and observability share one API, one dashboard, one bill
|
|
66
|
+
- **Grounding scores** — every extracted value links back to where it came from in the source document
|
|
67
|
+
|
|
68
|
+
## Related
|
|
69
|
+
|
|
70
|
+
- [2kw.ai](https://2kw.ai) — platform overview and pricing
|
|
71
|
+
- [Documentation](https://docs.2kw.ai) — full API reference and guides
|
|
72
|
+
- [`@2kw/ai`](https://www.npmjs.com/package/@2kw/ai) — the 2kw.ai CLI (`2kw`, `backbone`, `bb`) for terminals and agentic workflows
|
|
120
73
|
|
|
121
74
|
## License
|
|
122
75
|
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,9 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
5
5
|
import { createServer } from "node:http";
|
|
6
|
+
import { createRequire } from "node:module";
|
|
6
7
|
import { createApiClient } from "./client.js";
|
|
8
|
+
const pkg = createRequire(import.meta.url)("../package.json");
|
|
7
9
|
import * as conversion from "./tools/conversion.js";
|
|
8
10
|
import * as extraction from "./tools/extraction.js";
|
|
9
11
|
import * as aiGateway from "./tools/ai-gateway.js";
|
|
@@ -60,8 +62,8 @@ async function main() {
|
|
|
60
62
|
const httpPort = parseInt(process.env.MCP_HTTP_PORT ?? "3100", 10);
|
|
61
63
|
const client = createApiClient(baseUrl, apiKey);
|
|
62
64
|
const server = new McpServer({
|
|
63
|
-
name: "
|
|
64
|
-
version:
|
|
65
|
+
name: "2kw",
|
|
66
|
+
version: pkg.version,
|
|
65
67
|
});
|
|
66
68
|
// Register all tool groups
|
|
67
69
|
conversion.register(server, client);
|
package/package.json
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@2kw/ai-mcp-server",
|
|
3
|
-
"version": "5.
|
|
4
|
-
"description": "MCP server for
|
|
3
|
+
"version": "5.2.0-dev.8",
|
|
4
|
+
"description": "MCP server for 2kw.ai — EU-hosted AI platform: OpenAI-compatible LLM gateway, schema-driven document extraction, transcription, and cost observability. 86 tools for Claude Code, Cursor, and Windsurf.",
|
|
5
|
+
"mcpName": "ai.2kw/mcp-server",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"mcp",
|
|
8
|
+
"mcp-server",
|
|
9
|
+
"model-context-protocol",
|
|
10
|
+
"llm-gateway",
|
|
11
|
+
"ai-gateway",
|
|
12
|
+
"document-extraction",
|
|
13
|
+
"structured-data-extraction",
|
|
14
|
+
"pdf-extraction",
|
|
15
|
+
"openai-compatible",
|
|
16
|
+
"transcription",
|
|
17
|
+
"llm-observability",
|
|
18
|
+
"prompt-management",
|
|
19
|
+
"claude-code",
|
|
20
|
+
"cursor",
|
|
21
|
+
"windsurf",
|
|
22
|
+
"gdpr",
|
|
23
|
+
"eu-data-residency",
|
|
24
|
+
"2kw"
|
|
25
|
+
],
|
|
5
26
|
"type": "module",
|
|
6
27
|
"main": "dist/index.js",
|
|
7
28
|
"bin": {
|