Skip to content

Commit b2e4966

Browse files
authored
Move aggregation to mcpd-proxy and add resource templates support (#4)
* Refactor to use SDK methods and add resource templates support * Simplified all MCP protocol handlers to use SDK client methods instead of manual fetch calls. This provides automatic health checking, 501 Not Implemented handling, concurrent requests, caching, and proper error handling. * Added missing resource templates support via ListResourceTemplatesRequestSchema handler. * Removed all console output to keep stderr clean for MCP stdio protocol. Removed unnecessary try/catch blocks that just re-throw errors. * Move server aggregation from SDK to proxy * Version updates * Bump to JS SDK v0.0.2 * Use mcpd-proxy version 0.0.2 * Fix generate prompt * Update README * Use vi.mocked
1 parent 26467c4 commit b2e4966

File tree

7 files changed

+1598
-472
lines changed

7 files changed

+1598
-472
lines changed

README.md

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ An MCP (Model Context Protocol) server that acts as a proxy between IDEs and the
1616

1717
## Features
1818

19-
- Unified Interface: Single MCP server exposing all `mcpd`-managed tools
19+
- Unified Interface: Single MCP server exposing all `mcpd`-managed capabilities
2020
- Tool Aggregation: Tools from all servers with `server__tool` naming convention
21-
- Resource Support: Access resources from all servers with `mcpd://` URIs
22-
- Prompt Support: Aggregate prompts from all servers
21+
- Resource Aggregation: Resources from all servers with `server__resource` naming and `mcpd://` URIs
22+
- Prompt Aggregation: Prompts from all servers with `server__prompt` naming convention
2323
- Efficient Caching: Leverages SDK caching for health checks and tool schemas
2424
- Zero Configuration: Works out of the box with sensible defaults
2525
- TypeScript: Built with `TypeScript` for type safety
@@ -181,9 +181,11 @@ mcpd-proxy/
181181
│ └── apiPaths.ts # API endpoint constants
182182
├── tests/
183183
│ └── unit/ # Unit test files
184+
│ ├── aggregation.test.ts
184185
│ ├── apiPaths.test.ts
185186
│ ├── config.test.ts
186-
│ └── parsers.test.ts
187+
│ ├── parsers.test.ts
188+
│ └── server.test.ts
187189
├── .github/
188190
│ └── workflows/ # GitHub Actions workflows
189191
│ ├── tests.yaml
@@ -346,22 +348,6 @@ Solution:
346348
1. Check server health via `mcpd` API
347349
2. Verify tool exists on the server
348350
3. Check `mcpd` logs for errors
349-
4. Check `stderr` output from `mcpd-proxy` for detailed error messages
350-
351-
## Logging
352-
353-
`mcpd-proxy` logs to `stderr` (`stdout` is reserved for MCP protocol):
354-
355-
```
356-
============================================================
357-
mcpd-proxy v0.0.1
358-
============================================================
359-
mcpd daemon: http://localhost:8090
360-
API key: not set
361-
============================================================
362-
[mcpd-proxy] Connected and ready
363-
[mcpd-proxy] Error listing tools: <error details>
364-
```
365351

366352
## Future Enhancements
367353

0 commit comments

Comments
 (0)