@2kw/ai-mcp-server 5.1.0 → 5.2.0

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.
Files changed (3) hide show
  1. package/README.md +36 -83
  2. package/dist/index.js +4 -2
  3. package/package.json +23 -2
package/README.md CHANGED
@@ -1,43 +1,15 @@
1
- # Backbone MCP Server
1
+ # 2kw.ai MCP Server
2
2
 
3
- An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that gives AI coding assistants direct access to the [Backbone AI](https://backbone.manfred-kunze.dev) platform — manage schemas, run extractions, convert documents, and more from your IDE.
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
- ## Installation
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
- 1. Create an API key in the Backbone dashboard under **API Keys**
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
- Add to `.claude/settings.local.json` in your project root:
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
- "backbone": {
22
+ "2kw": {
51
23
  "command": "npx",
52
- "args": ["@manfred-kunze-dev/backbone-mcp-server"],
24
+ "args": ["-y", "@2kw/ai-mcp-server"],
53
25
  "env": {
54
- "BACKBONE_API_KEY": "sk_your_api_key"
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` in your project root:
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
- ```json
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
- | `BACKBONE_API_KEY` | Yes | — | API key for authenticating with the Backbone backend |
104
- | `BACKBONE_BASE_URL` | No | `https://backbone.manfred-kunze.dev/api` | Base URL of your Backbone instance |
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 | Tools |
111
- |----------|-------|
112
- | **Schemas** | CRUD operations, version management, validation, testing |
113
- | **Extractions** | Create extractions (sync/async), estimate tokens, re-run |
114
- | **Document Conversion** | Convert PDFs, DOCX, images to Markdown/text/HTML/JSON |
115
- | **Transcription** | Transcribe audio files (flac, mp3, mp4, ogg, wav, webm) |
116
- | **AI Gateway** | Chat completions, list available models |
117
- | **API Docs** | Browse API documentation by section |
118
-
119
- For full tool documentation, see the [Backbone docs](https://backbone.manfred-kunze.dev).
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: "backbone",
64
- version: "1.0.0",
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.1.0",
4
- "description": "MCP server for the 2kw.ai platform (engineering name: Backbone)",
3
+ "version": "5.2.0",
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": {