mcp-ts-template 1.7.5 → 1.7.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 +43 -48
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +34 -3
- package/dist/config/index.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -37
- package/dist/index.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/echoResourceLogic.d.ts +1 -0
- package/dist/mcp-server/resources/echoResource/echoResourceLogic.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/echoResourceLogic.js +1 -0
- package/dist/mcp-server/resources/echoResource/echoResourceLogic.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/index.d.ts +1 -0
- package/dist/mcp-server/resources/echoResource/index.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/index.js +1 -0
- package/dist/mcp-server/resources/echoResource/index.js.map +1 -0
- package/dist/mcp-server/resources/echoResource/registration.d.ts +1 -0
- package/dist/mcp-server/resources/echoResource/registration.d.ts.map +1 -0
- package/dist/mcp-server/resources/echoResource/registration.js +1 -0
- package/dist/mcp-server/resources/echoResource/registration.js.map +1 -0
- package/dist/mcp-server/server.d.ts +3 -2
- package/dist/mcp-server/server.d.ts.map +1 -0
- package/dist/mcp-server/server.js +20 -12
- package/dist/mcp-server/server.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.d.ts +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.js +1 -0
- package/dist/mcp-server/tools/catFactFetcher/index.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +1 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/logic.js +35 -12
- package/dist/mcp-server/tools/catFactFetcher/logic.js.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.js +1 -0
- package/dist/mcp-server/tools/catFactFetcher/registration.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/index.d.ts +1 -0
- package/dist/mcp-server/tools/echoTool/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/index.js +1 -0
- package/dist/mcp-server/tools/echoTool/index.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/logic.d.ts +1 -0
- package/dist/mcp-server/tools/echoTool/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/logic.js +1 -0
- package/dist/mcp-server/tools/echoTool/logic.js.map +1 -0
- package/dist/mcp-server/tools/echoTool/registration.d.ts +1 -0
- package/dist/mcp-server/tools/echoTool/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/echoTool/registration.js +1 -0
- package/dist/mcp-server/tools/echoTool/registration.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/index.d.ts +1 -0
- package/dist/mcp-server/tools/imageTest/index.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/index.js +1 -0
- package/dist/mcp-server/tools/imageTest/index.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/logic.d.ts +1 -0
- package/dist/mcp-server/tools/imageTest/logic.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/logic.js +1 -0
- package/dist/mcp-server/tools/imageTest/logic.js.map +1 -0
- package/dist/mcp-server/tools/imageTest/registration.d.ts +1 -0
- package/dist/mcp-server/tools/imageTest/registration.d.ts.map +1 -0
- package/dist/mcp-server/tools/imageTest/registration.js +1 -0
- package/dist/mcp-server/tools/imageTest/registration.js.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts +1 -0
- package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authFactory.js +11 -0
- package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/authMiddleware.js +17 -4
- package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/auth/index.d.ts +2 -1
- package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/index.js +1 -0
- package/dist/mcp-server/transports/auth/index.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js +1 -0
- package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js +1 -0
- package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/lib/authUtils.js +22 -14
- package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js +1 -0
- package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +50 -15
- package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +50 -12
- package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts +4 -2
- package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js +8 -0
- package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +24 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.js +58 -0
- package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +8 -10
- package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statefulTransportManager.js +147 -65
- package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +6 -3
- package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/statelessTransportManager.js +54 -17
- package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.d.ts +10 -5
- package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/core/transportTypes.js +1 -0
- package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +5 -9
- package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpErrorHandler.js +26 -3
- package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.d.ts +5 -33
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTransport.js +131 -179
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.d.ts +4 -1
- package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js +1 -0
- package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
- package/dist/mcp-server/transports/http/index.d.ts +1 -0
- package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/index.js +1 -0
- package/dist/mcp-server/transports/http/index.js.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +27 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +66 -0
- package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
- package/dist/mcp-server/transports/stdio/index.d.ts +1 -0
- package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/index.js +1 -0
- package/dist/mcp-server/transports/stdio/index.js.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
- package/dist/mcp-server/transports/stdio/stdioTransport.js +9 -3
- package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
- package/dist/services/duck-db/duckDBConnectionManager.d.ts +1 -0
- package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBConnectionManager.js +5 -6
- package/dist/services/duck-db/duckDBConnectionManager.js.map +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBQueryExecutor.js +2 -0
- package/dist/services/duck-db/duckDBQueryExecutor.js.map +1 -0
- package/dist/services/duck-db/duckDBService.d.ts +1 -0
- package/dist/services/duck-db/duckDBService.d.ts.map +1 -0
- package/dist/services/duck-db/duckDBService.js +4 -2
- package/dist/services/duck-db/duckDBService.js.map +1 -0
- package/dist/services/duck-db/types.d.ts +1 -0
- package/dist/services/duck-db/types.d.ts.map +1 -0
- package/dist/services/duck-db/types.js +1 -0
- package/dist/services/duck-db/types.js.map +1 -0
- package/dist/services/llm-providers/openRouterProvider.d.ts +1 -0
- package/dist/services/llm-providers/openRouterProvider.d.ts.map +1 -0
- package/dist/services/llm-providers/openRouterProvider.js +4 -1
- package/dist/services/llm-providers/openRouterProvider.js.map +1 -0
- package/dist/services/supabase/supabaseClient.d.ts +1 -0
- package/dist/services/supabase/supabaseClient.d.ts.map +1 -0
- package/dist/services/supabase/supabaseClient.js +1 -0
- package/dist/services/supabase/supabaseClient.js.map +1 -0
- package/dist/storage/duckdbExample.d.ts +1 -0
- package/dist/storage/duckdbExample.d.ts.map +1 -0
- package/dist/storage/duckdbExample.js +7 -1
- package/dist/storage/duckdbExample.js.map +1 -0
- package/dist/types-global/errors.d.ts +1 -0
- package/dist/types-global/errors.d.ts.map +1 -0
- package/dist/types-global/errors.js +10 -0
- package/dist/types-global/errors.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/internal/errorHandler.d.ts +1 -0
- package/dist/utils/internal/errorHandler.d.ts.map +1 -0
- package/dist/utils/internal/errorHandler.js +4 -2
- package/dist/utils/internal/errorHandler.js.map +1 -0
- package/dist/utils/internal/index.d.ts +1 -0
- package/dist/utils/internal/index.d.ts.map +1 -0
- package/dist/utils/internal/index.js +1 -0
- package/dist/utils/internal/index.js.map +1 -0
- package/dist/utils/internal/logger.d.ts +1 -0
- package/dist/utils/internal/logger.d.ts.map +1 -0
- package/dist/utils/internal/logger.js +12 -8
- package/dist/utils/internal/logger.js.map +1 -0
- package/dist/utils/internal/requestContext.d.ts +1 -0
- package/dist/utils/internal/requestContext.d.ts.map +1 -0
- package/dist/utils/internal/requestContext.js +1 -0
- package/dist/utils/internal/requestContext.js.map +1 -0
- package/dist/utils/metrics/index.d.ts +1 -0
- package/dist/utils/metrics/index.d.ts.map +1 -0
- package/dist/utils/metrics/index.js +1 -0
- package/dist/utils/metrics/index.js.map +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts +1 -0
- package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
- package/dist/utils/metrics/tokenCounter.js +1 -0
- package/dist/utils/metrics/tokenCounter.js.map +1 -0
- package/dist/utils/network/fetchWithTimeout.d.ts +1 -0
- package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
- package/dist/utils/network/fetchWithTimeout.js +1 -0
- package/dist/utils/network/fetchWithTimeout.js.map +1 -0
- package/dist/utils/network/index.d.ts +1 -0
- package/dist/utils/network/index.d.ts.map +1 -0
- package/dist/utils/network/index.js +1 -0
- package/dist/utils/network/index.js.map +1 -0
- package/dist/utils/parsing/dateParser.d.ts +1 -0
- package/dist/utils/parsing/dateParser.d.ts.map +1 -0
- package/dist/utils/parsing/dateParser.js +1 -0
- package/dist/utils/parsing/dateParser.js.map +1 -0
- package/dist/utils/parsing/index.d.ts +1 -0
- package/dist/utils/parsing/index.d.ts.map +1 -0
- package/dist/utils/parsing/index.js +1 -0
- package/dist/utils/parsing/index.js.map +1 -0
- package/dist/utils/parsing/jsonParser.d.ts +1 -0
- package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
- package/dist/utils/parsing/jsonParser.js +3 -2
- package/dist/utils/parsing/jsonParser.js.map +1 -0
- package/dist/utils/scheduling/index.d.ts +1 -0
- package/dist/utils/scheduling/index.d.ts.map +1 -0
- package/dist/utils/scheduling/index.js +1 -0
- package/dist/utils/scheduling/index.js.map +1 -0
- package/dist/utils/scheduling/scheduler.d.ts +1 -0
- package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
- package/dist/utils/scheduling/scheduler.js +3 -1
- package/dist/utils/scheduling/scheduler.js.map +1 -0
- package/dist/utils/security/idGenerator.d.ts +1 -0
- package/dist/utils/security/idGenerator.d.ts.map +1 -0
- package/dist/utils/security/idGenerator.js +32 -27
- package/dist/utils/security/idGenerator.js.map +1 -0
- package/dist/utils/security/index.d.ts +1 -0
- package/dist/utils/security/index.d.ts.map +1 -0
- package/dist/utils/security/index.js +1 -0
- package/dist/utils/security/index.js.map +1 -0
- package/dist/utils/security/rateLimiter.d.ts +1 -0
- package/dist/utils/security/rateLimiter.d.ts.map +1 -0
- package/dist/utils/security/rateLimiter.js +23 -16
- package/dist/utils/security/rateLimiter.js.map +1 -0
- package/dist/utils/security/sanitization.d.ts +1 -0
- package/dist/utils/security/sanitization.d.ts.map +1 -0
- package/dist/utils/security/sanitization.js +65 -63
- package/dist/utils/security/sanitization.js.map +1 -0
- package/package.json +49 -35
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# mcp-ts-template
|
|
4
4
|
|
|
5
|
-
**Build production-grade MCP servers with a powerful, type-safe, and extensible foundation.**
|
|
5
|
+
**Build production-grade Model Context Protocol (MCP) servers with a powerful, type-safe, and extensible foundation.**
|
|
6
6
|
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://github.com/modelcontextprotocol/typescript-sdk)
|
|
9
9
|
[](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-06-18/changelog.mdx)
|
|
10
|
-
[](./CHANGELOG.md)
|
|
11
|
+
[](./vitest.config.ts)
|
|
12
12
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
13
13
|
[](https://github.com/cyanheads/mcp-ts-template/issues)
|
|
14
14
|
[](https://github.com/cyanheads/mcp-ts-template)
|
|
@@ -30,36 +30,30 @@ Building a robust server for AI agents is more than just writing code. It requir
|
|
|
30
30
|
|
|
31
31
|
## ✨ Key Features
|
|
32
32
|
|
|
33
|
-
| Feature Area | Description
|
|
34
|
-
| :-------------------------- |
|
|
35
|
-
| **🔌 MCP Server** |
|
|
36
|
-
| **🚀 Production Utilities** | Logging, Error Handling, ID Generation, Rate Limiting, Request Context tracking, Input Sanitization.
|
|
37
|
-
| **🔒 Type Safety/Security** | Strong type checking via TypeScript & Zod validation. Built-in security utilities (sanitization, auth middleware for HTTP).
|
|
38
|
-
| **⚙️ Error Handling** | Consistent error categorization (`BaseErrorCode`), detailed logging, centralized handling (`ErrorHandler`).
|
|
39
|
-
| **📚 Documentation** | Comprehensive `README.md`, structured JSDoc comments, API references.
|
|
40
|
-
| **🕵️ Interaction Logging** | Captures raw requests and responses for all external LLM provider interactions to a dedicated `interactions.log` file for full traceability.
|
|
41
|
-
| **🤖 Agent Ready** | Includes a [.clinerules](.
|
|
42
|
-
| **🛠️ Utility Scripts** | Scripts for cleaning builds, setting executable permissions, generating directory trees, and fetching OpenAPI specs.
|
|
43
|
-
| **🧩 Services** | Reusable modules for LLM (OpenRouter) and data storage (DuckDB) integration, with examples.
|
|
44
|
-
| **🧪
|
|
45
|
-
|
|
46
|
-
##
|
|
47
|
-
|
|
48
|
-
This template
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
| [**filesystem-mcp-server**](https://github.com/cyanheads/filesystem-mcp-server) | Offers platform-agnostic file system capabilities for AI agents, including advanced search and directory traversal. |
|
|
58
|
-
| [**workflows-mcp-server**](https://github.com/cyanheads/workflows-mcp-server) | A declarative workflow engine that allows agents to execute complex, multi-step automations from simple YAML files. |
|
|
59
|
-
|
|
60
|
-
_Note: [**toolkit-mcp-server**](https://github.com/cyanheads/toolkit-mcp-server) was built on an older version of this template and is pending updates._
|
|
61
|
-
|
|
62
|
-
You can also **see my [GitHub profile](https://github.com/cyanheads/)** for additional MCP servers I've created.
|
|
33
|
+
| Feature Area | Description | Key Components / Location |
|
|
34
|
+
| :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- |
|
|
35
|
+
| **🔌 MCP Server** | A functional server with example tools and resources. Supports `stdio` and a **Streamable HTTP** transport built with [**Hono**](https://hono.dev/). | `src/mcp-server/`, `src/mcp-server/transports/` |
|
|
36
|
+
| **🚀 Production Utilities** | Logging, Error Handling, ID Generation, Rate Limiting, Request Context tracking, Input Sanitization. | `src/utils/` |
|
|
37
|
+
| **🔒 Type Safety/Security** | Strong type checking via TypeScript & Zod validation. Built-in security utilities (sanitization, auth middleware for HTTP). | Throughout, `src/utils/security/`, `src/mcp-server/transports/auth/` |
|
|
38
|
+
| **⚙️ Error Handling** | Consistent error categorization (`BaseErrorCode`), detailed logging, centralized handling (`ErrorHandler`). | `src/utils/internal/errorHandler.ts`, `src/types-global/` |
|
|
39
|
+
| **📚 Documentation** | Comprehensive `README.md`, structured JSDoc comments, API references. | `README.md`, Codebase, `tsdoc.json`, `docs/api-references/` |
|
|
40
|
+
| **🕵️ Interaction Logging** | Captures raw requests and responses for all external LLM provider interactions to a dedicated `interactions.log` file for full traceability. | `src/utils/internal/logger.ts` |
|
|
41
|
+
| **🤖 Agent Ready** | Includes a [.clinerules](./.clinerules/clinerules.md) developer cheatsheet tailored for LLM coding agents. | `.clinerules/` |
|
|
42
|
+
| **🛠️ Utility Scripts** | Scripts for cleaning builds, setting executable permissions, generating directory trees, and fetching OpenAPI specs. | `scripts/` |
|
|
43
|
+
| **🧩 Services** | Reusable modules for LLM (OpenRouter) and data storage (DuckDB) integration, with examples. | `src/services/`, `src/storage/duckdbExample.ts` |
|
|
44
|
+
| **🧪 Integration Testing** | Integrated with Vitest for fast and reliable integration testing. Includes example tests for core logic and a coverage reporter. | `vitest.config.ts`, `tests/` |
|
|
45
|
+
|
|
46
|
+
## Architecture Overview
|
|
47
|
+
|
|
48
|
+
This template employs a modular, transport-agnostic architecture to ensure a clean separation of concerns.
|
|
49
|
+
|
|
50
|
+
- **Core Server (`src/mcp-server/server.ts`)**: The central point where tools and resources are registered. It remains independent of how the server is accessed.
|
|
51
|
+
- **Transports (`src/mcp-server/transports/`)**: The transport layer connects the core server to the outside world.
|
|
52
|
+
- **StdioTransport**: For direct process-to-process communication.
|
|
53
|
+
- **HttpTransport**: A modern, streamable HTTP server built with **Hono**. It uses a middleware-based approach for handling CORS, rate limiting, authentication, and MCP request processing.
|
|
54
|
+
- **Transport Managers (`src/mcp-server/transports/core/`)**: These managers bridge the gap between the transport layer (like Hono) and the MCP SDK, handling session management (stateful vs. stateless) and request lifecycle.
|
|
55
|
+
|
|
56
|
+
This design allows you to add new tools and logic to the core server without worrying about the underlying transport details.
|
|
63
57
|
|
|
64
58
|
## Quick Start
|
|
65
59
|
|
|
@@ -93,7 +87,7 @@ npm run build
|
|
|
93
87
|
|
|
94
88
|
### 4. Running Tests
|
|
95
89
|
|
|
96
|
-
This template uses [Vitest](https://vitest.dev/) for
|
|
90
|
+
This template uses [Vitest](https://vitest.dev/) for testing, with a strong emphasis on **integration testing** to ensure all components work together correctly.
|
|
97
91
|
|
|
98
92
|
- **Run all tests once:**
|
|
99
93
|
```bash
|
|
@@ -110,17 +104,15 @@ This template uses [Vitest](https://vitest.dev/) for unit testing. Tests are loc
|
|
|
110
104
|
|
|
111
105
|
## ⚙️ Configuration
|
|
112
106
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Configure the MCP server's behavior using these environment variables:
|
|
107
|
+
Configure the server using these environment variables (or a `.env` file):
|
|
116
108
|
|
|
117
109
|
| Variable | Description | Default |
|
|
118
110
|
| :-------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------- |
|
|
119
111
|
| `MCP_TRANSPORT_TYPE` | Server transport: `stdio` or `http`. | `stdio` |
|
|
120
112
|
| `MCP_SESSION_MODE` | Session mode for HTTP: `stateless`, `stateful`, or `auto`. | `auto` |
|
|
121
|
-
| `MCP_HTTP_PORT` | Port for the HTTP server
|
|
122
|
-
| `MCP_HTTP_HOST` | Host address for the HTTP server
|
|
123
|
-
| `MCP_ALLOWED_ORIGINS` | Comma-separated allowed origins for CORS
|
|
113
|
+
| `MCP_HTTP_PORT` | Port for the HTTP server. | `3010` |
|
|
114
|
+
| `MCP_HTTP_HOST` | Host address for the HTTP server. | `127.0.0.1` |
|
|
115
|
+
| `MCP_ALLOWED_ORIGINS` | Comma-separated allowed origins for CORS. | (none) |
|
|
124
116
|
| `MCP_AUTH_MODE` | Authentication mode for HTTP: `jwt`, `oauth`, or `none`. | `none` |
|
|
125
117
|
| `MCP_AUTH_SECRET_KEY` | **Required for `jwt` mode.** Secret key (min 32 chars) for signing/verifying auth tokens. | (none - **MUST be set in production**) |
|
|
126
118
|
| `OAUTH_ISSUER_URL` | **Required for `oauth` mode.** The issuer URL of your authorization server. | (none) |
|
|
@@ -129,12 +121,12 @@ Configure the MCP server's behavior using these environment variables:
|
|
|
129
121
|
|
|
130
122
|
## 🏗️ Project Structure
|
|
131
123
|
|
|
132
|
-
- **`src/mcp-server/`**: Contains the MCP server
|
|
133
|
-
- **`src/config/`**: Handles loading and validation of environment variables
|
|
134
|
-
- **`src/services/`**:
|
|
124
|
+
- **`src/mcp-server/`**: Contains the core MCP server, tools, resources, and transport handlers.
|
|
125
|
+
- **`src/config/`**: Handles loading and validation of environment variables.
|
|
126
|
+
- **`src/services/`**: Reusable modules for integrating with external services (DuckDB, OpenRouter).
|
|
135
127
|
- **`src/types-global/`**: Defines shared TypeScript interfaces and type definitions.
|
|
136
|
-
- **`src/utils/`**:
|
|
137
|
-
- **`src/index.ts`**: The main entry point
|
|
128
|
+
- **`src/utils/`**: Core utilities (logging, error handling, security, etc.).
|
|
129
|
+
- **`src/index.ts`**: The main entry point that initializes and starts the server.
|
|
138
130
|
|
|
139
131
|
**Explore the full structure yourself:**
|
|
140
132
|
|
|
@@ -146,9 +138,12 @@ npm run tree
|
|
|
146
138
|
|
|
147
139
|
## 🧩 Extending the System
|
|
148
140
|
|
|
149
|
-
|
|
141
|
+
The canonical pattern for adding new tools and resources is defined in the [.clinerules](./.clinerules/clinerules.md) file. It mandates a strict separation of concerns:
|
|
142
|
+
|
|
143
|
+
1. **`logic.ts`**: Contains the pure business logic, Zod schemas, and type definitions. This file throws structured errors on failure.
|
|
144
|
+
2. **`registration.ts`**: Acts as the "handler." It registers the tool with the server, wraps the logic call in a `try...catch` block, and formats the final success or error response.
|
|
150
145
|
|
|
151
|
-
|
|
146
|
+
This "Logic Throws, Handler Catches" pattern ensures that core logic remains pure and testable, while the registration layer handles all side effects and response formatting.
|
|
152
147
|
|
|
153
148
|
## 🌍 Explore More MCP Resources
|
|
154
149
|
|
package/dist/config/index.d.ts
CHANGED
|
@@ -42,6 +42,14 @@ export declare const config: {
|
|
|
42
42
|
mcpHttpPort: number;
|
|
43
43
|
/** HTTP server host (if http transport). From `MCP_HTTP_HOST` env var. Default: "127.0.0.1". */
|
|
44
44
|
mcpHttpHost: string;
|
|
45
|
+
/** MCP endpoint path for HTTP transport. From `MCP_HTTP_ENDPOINT_PATH`. Default: "/mcp". */
|
|
46
|
+
mcpHttpEndpointPath: string;
|
|
47
|
+
/** Max retries for port binding. From `MCP_HTTP_MAX_PORT_RETRIES`. Default: 15. */
|
|
48
|
+
mcpHttpMaxPortRetries: number;
|
|
49
|
+
/** Delay between port binding retries. From `MCP_HTTP_PORT_RETRY_DELAY_MS`. Default: 50. */
|
|
50
|
+
mcpHttpPortRetryDelayMs: number;
|
|
51
|
+
/** Timeout for stale stateful sessions. From `MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS`. Default: 1800000. */
|
|
52
|
+
mcpStatefulSessionStaleTimeoutMs: number;
|
|
45
53
|
/** Array of allowed CORS origins (http transport). From `MCP_ALLOWED_ORIGINS` (comma-separated). */
|
|
46
54
|
mcpAllowedOrigins: string[] | undefined;
|
|
47
55
|
/** Auth secret key (JWTs, http transport). From `MCP_AUTH_SECRET_KEY`. CRITICAL. */
|
|
@@ -54,6 +62,10 @@ export declare const config: {
|
|
|
54
62
|
oauthJwksUri: string | undefined;
|
|
55
63
|
/** OAuth 2.1 Audience. From `OAUTH_AUDIENCE`. */
|
|
56
64
|
oauthAudience: string | undefined;
|
|
65
|
+
/** Development mode client ID. From `DEV_MCP_CLIENT_ID`. */
|
|
66
|
+
devMcpClientId: string | undefined;
|
|
67
|
+
/** Development mode scopes. From `DEV_MCP_SCOPES`. */
|
|
68
|
+
devMcpScopes: string[] | undefined;
|
|
57
69
|
/** OpenRouter App URL. From `OPENROUTER_APP_URL`. Default: "http://localhost:3000". */
|
|
58
70
|
openrouterAppUrl: string;
|
|
59
71
|
/** OpenRouter App Name. From `OPENROUTER_APP_NAME`. Defaults to `mcpServerName`. */
|
|
@@ -98,3 +110,4 @@ export declare const logLevel: string;
|
|
|
98
110
|
* Exported for convenience.
|
|
99
111
|
*/
|
|
100
112
|
export declare const environment: string;
|
|
113
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AA8SH;;;GAGG;AACH,eAAO,MAAM,MAAM;IACjB,qCAAqC;;;;;IAErC,wFAAwF;;IAExF,uFAAuF;;IAEvF,qEAAqE;;IAErE,oEAAoE;;IAEpE,4EAA4E;;IAE5E,mGAAmG;;IAEnG,4GAA4G;;IAE5G,yFAAyF;;IAEzF,gGAAgG;;IAEhG,4FAA4F;;IAE5F,mFAAmF;;IAEnF,4FAA4F;;IAE5F,2GAA2G;;IAE3G,oGAAoG;;IAIpG,oFAAoF;;IAEpF,wEAAwE;;IAExE,qDAAqD;;IAErD,iDAAiD;;IAEjD,iDAAiD;;IAEjD,4DAA4D;;IAE5D,sDAAsD;;IAEtD,uFAAuF;;IAEvF,oFAAoF;;IAEpF,qDAAqD;;IAErD,mDAAmD;;IAEnD,+DAA+D;;IAE/D,mDAAmD;;IAEnD,6DAA6D;;IAE7D,mDAAmD;;IAEnD,mDAAmD;;IAGnD,4EAA4E;;;;;;;;;IAqB5E,wEAAwE;;;;;;CASzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAwB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -91,6 +91,22 @@ const EnvSchema = z.object({
|
|
|
91
91
|
MCP_HTTP_PORT: z.coerce.number().int().positive().default(3010),
|
|
92
92
|
/** HTTP server host (if MCP_TRANSPORT_TYPE is "http"). Default: "127.0.0.1". */
|
|
93
93
|
MCP_HTTP_HOST: z.string().default("127.0.0.1"),
|
|
94
|
+
/** The endpoint path for the MCP server. Default: "/mcp". */
|
|
95
|
+
MCP_HTTP_ENDPOINT_PATH: z.string().default("/mcp"),
|
|
96
|
+
/** Max retries for binding to a port if the initial one is in use. Default: 15. */
|
|
97
|
+
MCP_HTTP_MAX_PORT_RETRIES: z.coerce.number().int().nonnegative().default(15),
|
|
98
|
+
/** Delay in ms between port binding retries. Default: 50. */
|
|
99
|
+
MCP_HTTP_PORT_RETRY_DELAY_MS: z.coerce
|
|
100
|
+
.number()
|
|
101
|
+
.int()
|
|
102
|
+
.nonnegative()
|
|
103
|
+
.default(50),
|
|
104
|
+
/** Timeout in ms for considering a stateful session stale and eligible for cleanup. Default: 1800000 (30 minutes). */
|
|
105
|
+
MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS: z.coerce
|
|
106
|
+
.number()
|
|
107
|
+
.int()
|
|
108
|
+
.positive()
|
|
109
|
+
.default(1_800_000),
|
|
94
110
|
/** Optional. Comma-separated allowed origins for CORS (HTTP transport). */
|
|
95
111
|
MCP_ALLOWED_ORIGINS: z.string().optional(),
|
|
96
112
|
/** Optional. Secret key (min 32 chars) for auth tokens (HTTP transport). CRITICAL for production. */
|
|
@@ -106,6 +122,10 @@ const EnvSchema = z.object({
|
|
|
106
122
|
OAUTH_JWKS_URI: z.string().url().optional(),
|
|
107
123
|
/** The audience claim for the OAuth 2.1 access tokens. This server will reject tokens not intended for it. */
|
|
108
124
|
OAUTH_AUDIENCE: z.string().optional(),
|
|
125
|
+
/** Optional. Client ID to use in development mode for JWT strategy. Default: "dev-client-id". */
|
|
126
|
+
DEV_MCP_CLIENT_ID: z.string().optional(),
|
|
127
|
+
/** Optional. Comma-separated scopes for development mode JWT strategy. Default: "dev-scope". */
|
|
128
|
+
DEV_MCP_SCOPES: z.string().optional(),
|
|
109
129
|
/** Optional. Application URL for OpenRouter integration. */
|
|
110
130
|
OPENROUTER_APP_URL: z
|
|
111
131
|
.string()
|
|
@@ -116,9 +136,7 @@ const EnvSchema = z.object({
|
|
|
116
136
|
/** Optional. API key for OpenRouter services. */
|
|
117
137
|
OPENROUTER_API_KEY: z.string().optional(),
|
|
118
138
|
/** Default LLM model. Default: "google/gemini-2.5-flash". */
|
|
119
|
-
LLM_DEFAULT_MODEL: z
|
|
120
|
-
.string()
|
|
121
|
-
.default("google/gemini-2.5-flash"),
|
|
139
|
+
LLM_DEFAULT_MODEL: z.string().default("google/gemini-2.5-flash"),
|
|
122
140
|
/** Optional. Default LLM temperature (0.0-2.0). */
|
|
123
141
|
LLM_DEFAULT_TEMPERATURE: z.coerce.number().min(0).max(2).optional(),
|
|
124
142
|
/** Optional. Default LLM top_p (0.0-1.0). */
|
|
@@ -270,6 +288,14 @@ export const config = {
|
|
|
270
288
|
mcpHttpPort: env.MCP_HTTP_PORT,
|
|
271
289
|
/** HTTP server host (if http transport). From `MCP_HTTP_HOST` env var. Default: "127.0.0.1". */
|
|
272
290
|
mcpHttpHost: env.MCP_HTTP_HOST,
|
|
291
|
+
/** MCP endpoint path for HTTP transport. From `MCP_HTTP_ENDPOINT_PATH`. Default: "/mcp". */
|
|
292
|
+
mcpHttpEndpointPath: env.MCP_HTTP_ENDPOINT_PATH,
|
|
293
|
+
/** Max retries for port binding. From `MCP_HTTP_MAX_PORT_RETRIES`. Default: 15. */
|
|
294
|
+
mcpHttpMaxPortRetries: env.MCP_HTTP_MAX_PORT_RETRIES,
|
|
295
|
+
/** Delay between port binding retries. From `MCP_HTTP_PORT_RETRY_DELAY_MS`. Default: 50. */
|
|
296
|
+
mcpHttpPortRetryDelayMs: env.MCP_HTTP_PORT_RETRY_DELAY_MS,
|
|
297
|
+
/** Timeout for stale stateful sessions. From `MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS`. Default: 1800000. */
|
|
298
|
+
mcpStatefulSessionStaleTimeoutMs: env.MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS,
|
|
273
299
|
/** Array of allowed CORS origins (http transport). From `MCP_ALLOWED_ORIGINS` (comma-separated). */
|
|
274
300
|
mcpAllowedOrigins: env.MCP_ALLOWED_ORIGINS?.split(",")
|
|
275
301
|
.map((origin) => origin.trim())
|
|
@@ -284,6 +310,10 @@ export const config = {
|
|
|
284
310
|
oauthJwksUri: env.OAUTH_JWKS_URI,
|
|
285
311
|
/** OAuth 2.1 Audience. From `OAUTH_AUDIENCE`. */
|
|
286
312
|
oauthAudience: env.OAUTH_AUDIENCE,
|
|
313
|
+
/** Development mode client ID. From `DEV_MCP_CLIENT_ID`. */
|
|
314
|
+
devMcpClientId: env.DEV_MCP_CLIENT_ID,
|
|
315
|
+
/** Development mode scopes. From `DEV_MCP_SCOPES`. */
|
|
316
|
+
devMcpScopes: env.DEV_MCP_SCOPES?.split(",").map((s) => s.trim()),
|
|
287
317
|
/** OpenRouter App URL. From `OPENROUTER_APP_URL`. Default: "http://localhost:3000". */
|
|
288
318
|
openrouterAppUrl: env.OPENROUTER_APP_URL || "http://localhost:3000",
|
|
289
319
|
/** OpenRouter App Name. From `OPENROUTER_APP_NAME`. Defaults to `mcpServerName`. */
|
|
@@ -339,3 +369,4 @@ export const logLevel = config.logLevel;
|
|
|
339
369
|
* Exported for convenience.
|
|
340
370
|
*/
|
|
341
371
|
export const environment = config.environment;
|
|
372
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
|
package/dist/index.js
CHANGED
|
@@ -51,47 +51,41 @@ const shutdown = async (signal) => {
|
|
|
51
51
|
triggerEvent: signal,
|
|
52
52
|
});
|
|
53
53
|
logger.info(`Received ${signal}. Initiating graceful shutdown...`, shutdownContext);
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
logger.info("
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
54
|
+
try {
|
|
55
|
+
let closePromise = Promise.resolve();
|
|
56
|
+
const transportType = config.mcpTransportType;
|
|
57
|
+
if (transportType === "stdio" && mcpStdioServer) {
|
|
58
|
+
logger.info("Attempting to close main MCP server (STDIO)...", shutdownContext);
|
|
59
|
+
closePromise = mcpStdioServer.close();
|
|
60
|
+
}
|
|
61
|
+
else if (transportType === "http" && actualHttpServer) {
|
|
62
|
+
logger.info("Attempting to close HTTP server...", shutdownContext);
|
|
63
|
+
closePromise = new Promise((resolve, reject) => {
|
|
64
|
+
actualHttpServer.close((err) => {
|
|
65
|
+
if (err) {
|
|
66
|
+
logger.error("Error closing HTTP server.", {
|
|
67
|
+
...shutdownContext,
|
|
68
|
+
error: err.message,
|
|
69
|
+
});
|
|
70
|
+
return reject(err);
|
|
71
|
+
}
|
|
72
|
+
logger.info("HTTP server closed successfully.", shutdownContext);
|
|
73
|
+
resolve();
|
|
69
74
|
});
|
|
70
|
-
resolve(); // Resolve even on error to not block shutdown
|
|
71
75
|
});
|
|
72
|
-
}
|
|
76
|
+
}
|
|
77
|
+
await closePromise;
|
|
78
|
+
logger.info("Graceful shutdown completed successfully. Exiting.", shutdownContext);
|
|
79
|
+
process.exit(0);
|
|
73
80
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
...shutdownContext,
|
|
82
|
-
error: err,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
logger.info("HTTP server closed successfully.", shutdownContext);
|
|
87
|
-
}
|
|
88
|
-
resolve(); // Resolve regardless of error
|
|
89
|
-
});
|
|
90
|
-
}));
|
|
81
|
+
catch (error) {
|
|
82
|
+
logger.error("Critical error during shutdown process.", {
|
|
83
|
+
...shutdownContext,
|
|
84
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
85
|
+
errorStack: error instanceof Error ? error.stack : undefined,
|
|
86
|
+
});
|
|
87
|
+
process.exit(1);
|
|
91
88
|
}
|
|
92
|
-
await Promise.allSettled(shutdownPromises);
|
|
93
|
-
logger.info("Graceful shutdown completed successfully. Exiting.", shutdownContext);
|
|
94
|
-
process.exit(0);
|
|
95
89
|
};
|
|
96
90
|
/**
|
|
97
91
|
* Initializes and starts the main MCP server application.
|
|
@@ -212,3 +206,4 @@ const start = async () => {
|
|
|
212
206
|
process.exit(1);
|
|
213
207
|
}
|
|
214
208
|
})();
|
|
209
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,3 +36,4 @@ export interface EchoResourceResponsePayload {
|
|
|
36
36
|
* @returns The data payload for the response.
|
|
37
37
|
*/
|
|
38
38
|
export declare function echoResourceLogic(uri: URL, params: EchoResourceParams, context: RequestContext): Promise<EchoResourceResponsePayload>;
|
|
39
|
+
//# sourceMappingURL=echoResourceLogic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echoResourceLogic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/echoResourceLogic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;EAOlC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,2BAA2B,CAAC,CA2BtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"echoResourceLogic.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/echoResourceLogic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAuB,MAAM,yBAAyB,CAAC;AAEtE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,iHAAiH,CAClH;CACJ,CAAC,CAAC;AAgBH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAAQ,EACR,MAA0B,EAC1B,OAAuB;IAEvB,kEAAkE;IAClE,0EAA0E;IAC1E,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1E,MAAM,aAAa,GACjB,MAAM,CAAC,OAAO,IAAI,eAAe,IAAI,sBAAsB,CAAC;IAE9D,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;QAC9C,GAAG,OAAO;QACV,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,gBAAgB,EAAE,aAAa;KAChC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAgC;QACnD,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,GAAG,CAAC,IAAI;KACrB,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;QACpD,GAAG,OAAO;QACV,sBAAsB,EAAE;YACtB,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM;SAC9C;KACF,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -12,3 +12,4 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
12
12
|
* @returns A promise that resolves when the resource registration is complete.
|
|
13
13
|
*/
|
|
14
14
|
export declare const registerEchoResource: (server: McpServer) => Promise<void>;
|
|
15
|
+
//# sourceMappingURL=registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AAcjD;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAuFd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,MAAM,EAEN,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAsB,MAAM,wBAAwB,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,YAAY,GAAG,eAAe,CAAC;IACrC,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,oBAAoB,CAAC;QACzC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,YAAY;KAC3B,CAAC,CAAC;IAEL,MAAM,CAAC,IAAI,CAAC,0BAA0B,YAAY,GAAG,EAAE,mBAAmB,CAAC,CAAC;IAE5E,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;YACxD,IAAI,EAAE,KAAK,IAAkC,EAAE;gBAC7C,OAAO;oBACL,SAAS,EAAE;wBACT;4BACE,GAAG,EAAE,cAAc;4BACnB,IAAI,EAAE,sBAAsB;4BAC5B,WAAW,EAAE,iCAAiC;yBAC/C;qBACF;iBACF,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CACb,YAAY,EACZ,QAAQ,EACR;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EAAE,gDAAgD;YAC7D,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC;SACxD,EACD,KAAK,EACH,GAAQ,EACR,MAA0B,EACG,EAAE;YAC/B,MAAM,cAAc,GAClB,qBAAqB,CAAC,oBAAoB,CAAC;gBACzC,eAAe,EAAE,mBAAmB,CAAC,SAAS;gBAC9C,SAAS,EAAE,oBAAoB;gBAC/B,WAAW,EAAE,GAAG,CAAC,IAAI;gBACrB,WAAW,EAAE,MAAM;aACpB,CAAC,CAAC;YAEL,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAC1C,GAAG,EACH,MAAM,EACN,cAAc,CACf,CAAC;gBACF,OAAO;oBACL,QAAQ,EAAE;wBACR;4BACE,GAAG,EAAE,GAAG,CAAC,IAAI;4BACb,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CACtD,QAAQ,CACT;4BACD,QAAQ,EAAE,kBAAkB;yBAC7B;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6DAA6D;gBAC7D,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;oBACpC,SAAS,EAAE,yBAAyB;oBACpC,OAAO,EAAE,cAAc;oBACvB,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,aAAa,YAAY,4BAA4B,EACrD,mBAAmB,CACpB,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,uBAAuB,YAAY,EAAE;QAChD,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,aAAa,CAAC,qBAAqB;QAC9C,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
* - Transports: https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-03-26/basic/transports.mdx
|
|
14
14
|
* @module src/mcp-server/server
|
|
15
15
|
*/
|
|
16
|
-
import { ServerType } from "@hono/node-server";
|
|
17
16
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17
|
+
import http from "http";
|
|
18
18
|
/**
|
|
19
19
|
* Main application entry point. Initializes and starts the MCP server.
|
|
20
20
|
*/
|
|
21
|
-
export declare function initializeAndStartServer(): Promise<
|
|
21
|
+
export declare function initializeAndStartServer(): Promise<McpServer | http.Server>;
|
|
22
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AAyFxB;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAuBjF"}
|
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
17
17
|
import { config, environment } from "../config/index.js";
|
|
18
18
|
import { ErrorHandler, logger, requestContextService } from "../utils/index.js";
|
|
19
|
-
import { BaseErrorCode } from "../types-global/errors.js";
|
|
20
19
|
import { registerEchoResource } from "./resources/echoResource/index.js";
|
|
21
20
|
import { registerCatFactFetcherTool } from "./tools/catFactFetcher/index.js";
|
|
22
21
|
import { registerEchoTool } from "./tools/echoTool/index.js";
|
|
@@ -47,25 +46,28 @@ async function createMcpServerInstance() {
|
|
|
47
46
|
tools: { listChanged: true },
|
|
48
47
|
},
|
|
49
48
|
});
|
|
50
|
-
|
|
49
|
+
try {
|
|
51
50
|
logger.debug("Registering resources and tools...", context);
|
|
52
51
|
await registerEchoResource(server);
|
|
53
52
|
await registerEchoTool(server);
|
|
54
53
|
await registerCatFactFetcherTool(server);
|
|
55
54
|
await registerFetchImageTestTool(server);
|
|
56
55
|
logger.info("Resources and tools registered successfully", context);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
logger.error("Failed to register resources/tools", {
|
|
59
|
+
...context,
|
|
60
|
+
error: err instanceof Error ? err.message : String(err),
|
|
61
|
+
stack: err instanceof Error ? err.stack : undefined,
|
|
62
|
+
});
|
|
63
|
+
throw err;
|
|
64
|
+
}
|
|
63
65
|
return server;
|
|
64
66
|
}
|
|
65
67
|
/**
|
|
66
68
|
* Selects, sets up, and starts the appropriate MCP transport layer based on configuration.
|
|
67
69
|
*
|
|
68
|
-
* @returns Resolves with `McpServer` for 'stdio'
|
|
70
|
+
* @returns Resolves with `McpServer` for 'stdio' or `http.Server` for 'http'.
|
|
69
71
|
* @throws {Error} If transport type is unsupported or setup fails.
|
|
70
72
|
* @private
|
|
71
73
|
*/
|
|
@@ -85,6 +87,7 @@ async function startTransport() {
|
|
|
85
87
|
await startStdioTransport(server, context);
|
|
86
88
|
return server;
|
|
87
89
|
}
|
|
90
|
+
logger.crit(`Unsupported transport type configured: ${transportType}`, context);
|
|
88
91
|
throw new Error(`Unsupported transport type: ${transportType}. Must be 'stdio' or 'http'.`);
|
|
89
92
|
}
|
|
90
93
|
/**
|
|
@@ -101,13 +104,18 @@ export async function initializeAndStartServer() {
|
|
|
101
104
|
return result;
|
|
102
105
|
}
|
|
103
106
|
catch (err) {
|
|
107
|
+
logger.crit("Critical error during MCP server initialization.", {
|
|
108
|
+
...context,
|
|
109
|
+
error: err instanceof Error ? err.message : String(err),
|
|
110
|
+
stack: err instanceof Error ? err.stack : undefined,
|
|
111
|
+
});
|
|
104
112
|
ErrorHandler.handleError(err, {
|
|
105
|
-
|
|
106
|
-
|
|
113
|
+
...context,
|
|
114
|
+
operation: "initializeAndStartServer_Catch",
|
|
107
115
|
critical: true,
|
|
108
|
-
rethrow: false,
|
|
109
116
|
});
|
|
110
117
|
logger.info("Exiting process due to critical initialization error.", context);
|
|
111
118
|
process.exit(1);
|
|
112
119
|
}
|
|
113
120
|
}
|
|
121
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/catFactFetcher/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/catFactFetcher/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -51,3 +51,4 @@ export type CatFactFetcherResponse = z.infer<typeof CatFactFetcherResponseSchema
|
|
|
51
51
|
* @throws {McpError} If the API request fails or returns an error.
|
|
52
52
|
*/
|
|
53
53
|
export declare function catFactFetcherLogic(params: CatFactFetcherInput, context: RequestContext): Promise<CatFactFetcherResponse>;
|
|
54
|
+
//# sourceMappingURL=logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/catFactFetcher/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AAWjC;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;;;;EAanC,CAAC;AAEJ;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;EAYvC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,sBAAsB,CAAC,CAmEjC"}
|