emceepee 0.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Anthropic
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,121 @@
1
+ # MCP Proxy
2
+
3
+ An MCP (Model Context Protocol) proxy server that provides a static tool interface for dynamically managing and interacting with multiple backend MCP servers.
4
+
5
+ ## Problem
6
+
7
+ Claude's tool schema is injected at conversation start and doesn't update mid-conversation, even when MCP servers send `notifications/tools/list_changed`. This prevents Claude from discovering dynamically-added tools.
8
+
9
+ ## Solution
10
+
11
+ MCP Proxy provides a **static set of meta-tools** that allow Claude to:
12
+
13
+ - Dynamically add/remove backend MCP servers at runtime
14
+ - Discover tools, resources, and prompts from any connected backend
15
+ - Execute tools on backends by name
16
+ - Fetch resources and prompts from backends
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ npm install mcp-proxy
22
+ # or
23
+ bun add mcp-proxy
24
+ ```
25
+
26
+ ## Usage
27
+
28
+ ### Starting the Server
29
+
30
+ ```bash
31
+ # Default port 8080
32
+ npx mcp-proxy
33
+
34
+ # Custom port
35
+ PORT=9000 npx mcp-proxy
36
+
37
+ # With initial backend servers
38
+ npx mcp-proxy --config ./servers.json
39
+ ```
40
+
41
+ ### Configuration File
42
+
43
+ ```json
44
+ {
45
+ "servers": [
46
+ { "name": "minecraft", "url": "http://localhost:3001/mcp" },
47
+ { "name": "other", "url": "http://localhost:4000/mcp" }
48
+ ]
49
+ }
50
+ ```
51
+
52
+ ## Available Tools
53
+
54
+ | Tool | Description |
55
+ |------|-------------|
56
+ | `add_server` | Connect to a backend MCP server (name, url) |
57
+ | `remove_server` | Disconnect from a backend server |
58
+ | `list_servers` | List all connected backend servers with status |
59
+ | `list_tools` | List tools from one or all backends |
60
+ | `execute_tool` | Call a tool on a specific backend server |
61
+ | `list_resources` | List resources from one or all backends |
62
+ | `get_resource` | Fetch a specific resource from a backend |
63
+ | `list_prompts` | List prompts from one or all backends |
64
+ | `get_prompt` | Get a specific prompt from a backend |
65
+ | `get_notifications` | Get buffered notifications from backends |
66
+
67
+ ## Example
68
+
69
+ ```typescript
70
+ // 1. Add a backend server
71
+ execute_tool("add_server", { name: "minecraft", url: "http://localhost:3001/mcp" })
72
+
73
+ // 2. Discover what tools it has
74
+ execute_tool("list_tools", { server: "minecraft" })
75
+
76
+ // 3. Execute a tool on the backend
77
+ execute_tool("execute_tool", {
78
+ server: "minecraft",
79
+ tool: "screenshot",
80
+ args: {}
81
+ })
82
+ ```
83
+
84
+ ## Architecture
85
+
86
+ ```
87
+ ┌─────────┐ ┌───────────┐ ┌─────────────────┐
88
+ │ Claude │────▶│ MCP Proxy │────▶│ Backend MCP │
89
+ │ │ │ │ │ Server 1 │
90
+ │ │ │ Static │ └─────────────────┘
91
+ │ │◀────│ Tools │────▶┌─────────────────┐
92
+ │ │ │ │ │ Backend MCP │
93
+ └─────────┘ └───────────┘ │ Server 2 │
94
+ └─────────────────┘
95
+ ```
96
+
97
+ ## Development
98
+
99
+ ```bash
100
+ # Install dependencies
101
+ bun install
102
+
103
+ # Run in development
104
+ bun run dev
105
+
106
+ # Type check
107
+ bun run typecheck
108
+
109
+ # Lint
110
+ bun run lint
111
+
112
+ # Run all checks
113
+ bun run check
114
+
115
+ # Build for production
116
+ bun run build
117
+ ```
118
+
119
+ ## License
120
+
121
+ MIT