mcp-ts-template 1.8.1 → 1.9.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 (173) hide show
  1. package/README.md +31 -31
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +1 -1
  4. package/dist/config/index.js.map +1 -1
  5. package/dist/index.js +27 -41
  6. package/dist/index.js.map +1 -1
  7. package/dist/mcp-server/resources/echoResource/logic.d.ts +1 -2
  8. package/dist/mcp-server/resources/echoResource/logic.d.ts.map +1 -1
  9. package/dist/mcp-server/resources/echoResource/logic.js +5 -6
  10. package/dist/mcp-server/resources/echoResource/logic.js.map +1 -1
  11. package/dist/mcp-server/resources/echoResource/registration.d.ts +1 -7
  12. package/dist/mcp-server/resources/echoResource/registration.d.ts.map +1 -1
  13. package/dist/mcp-server/resources/echoResource/registration.js +31 -59
  14. package/dist/mcp-server/resources/echoResource/registration.js.map +1 -1
  15. package/dist/mcp-server/resources/index.d.ts +10 -0
  16. package/dist/mcp-server/resources/index.d.ts.map +1 -0
  17. package/dist/mcp-server/resources/index.js +19 -0
  18. package/dist/mcp-server/resources/index.js.map +1 -0
  19. package/dist/mcp-server/resources/utils/resource-utils.d.ts +43 -0
  20. package/dist/mcp-server/resources/utils/resource-utils.d.ts.map +1 -0
  21. package/dist/mcp-server/resources/utils/resource-utils.js +44 -0
  22. package/dist/mcp-server/resources/utils/resource-utils.js.map +1 -0
  23. package/dist/mcp-server/server.d.ts +2 -2
  24. package/dist/mcp-server/server.d.ts.map +1 -1
  25. package/dist/mcp-server/server.js +23 -37
  26. package/dist/mcp-server/server.js.map +1 -1
  27. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts +2 -5
  28. package/dist/mcp-server/tools/catFactFetcher/logic.d.ts.map +1 -1
  29. package/dist/mcp-server/tools/catFactFetcher/logic.js +15 -20
  30. package/dist/mcp-server/tools/catFactFetcher/logic.js.map +1 -1
  31. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts +1 -7
  32. package/dist/mcp-server/tools/catFactFetcher/registration.d.ts.map +1 -1
  33. package/dist/mcp-server/tools/catFactFetcher/registration.js +14 -58
  34. package/dist/mcp-server/tools/catFactFetcher/registration.js.map +1 -1
  35. package/dist/mcp-server/tools/echoTool/logic.d.ts +3 -5
  36. package/dist/mcp-server/tools/echoTool/logic.d.ts.map +1 -1
  37. package/dist/mcp-server/tools/echoTool/logic.js +11 -13
  38. package/dist/mcp-server/tools/echoTool/logic.js.map +1 -1
  39. package/dist/mcp-server/tools/echoTool/registration.d.ts +1 -7
  40. package/dist/mcp-server/tools/echoTool/registration.d.ts.map +1 -1
  41. package/dist/mcp-server/tools/echoTool/registration.js +18 -71
  42. package/dist/mcp-server/tools/echoTool/registration.js.map +1 -1
  43. package/dist/mcp-server/tools/imageTest/logic.d.ts +4 -6
  44. package/dist/mcp-server/tools/imageTest/logic.d.ts.map +1 -1
  45. package/dist/mcp-server/tools/imageTest/logic.js +18 -7
  46. package/dist/mcp-server/tools/imageTest/logic.js.map +1 -1
  47. package/dist/mcp-server/tools/imageTest/registration.d.ts +1 -6
  48. package/dist/mcp-server/tools/imageTest/registration.d.ts.map +1 -1
  49. package/dist/mcp-server/tools/imageTest/registration.js +19 -60
  50. package/dist/mcp-server/tools/imageTest/registration.js.map +1 -1
  51. package/dist/mcp-server/tools/index.d.ts +4 -0
  52. package/dist/mcp-server/tools/index.d.ts.map +1 -0
  53. package/dist/mcp-server/tools/index.js +19 -0
  54. package/dist/mcp-server/tools/index.js.map +1 -0
  55. package/dist/mcp-server/tools/utils/tool-utils.d.ts +43 -0
  56. package/dist/mcp-server/tools/utils/tool-utils.d.ts.map +1 -0
  57. package/dist/mcp-server/tools/utils/tool-utils.js +44 -0
  58. package/dist/mcp-server/tools/utils/tool-utils.js.map +1 -0
  59. package/dist/mcp-server/transports/auth/authFactory.js +5 -5
  60. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -1
  61. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +2 -2
  62. package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -1
  63. package/dist/mcp-server/transports/auth/authMiddleware.js +13 -13
  64. package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -1
  65. package/dist/mcp-server/transports/auth/lib/authUtils.js +7 -7
  66. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -1
  67. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -1
  68. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +23 -23
  69. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -1
  70. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -1
  71. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +23 -23
  72. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -1
  73. package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -1
  74. package/dist/mcp-server/transports/core/baseTransportManager.js +1 -1
  75. package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -1
  76. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -1
  77. package/dist/mcp-server/transports/core/statefulTransportManager.js +28 -27
  78. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -1
  79. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -1
  80. package/dist/mcp-server/transports/core/statelessTransportManager.js +12 -14
  81. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -1
  82. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -1
  83. package/dist/mcp-server/transports/http/httpErrorHandler.js +37 -49
  84. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -1
  85. package/dist/mcp-server/transports/http/httpTransport.d.ts +3 -3
  86. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  87. package/dist/mcp-server/transports/http/httpTransport.js +34 -28
  88. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  89. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -1
  90. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +26 -17
  91. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -1
  92. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -1
  93. package/dist/mcp-server/transports/stdio/stdioTransport.js +6 -5
  94. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -1
  95. package/dist/services/duck-db/duckDBConnectionManager.d.ts.map +1 -1
  96. package/dist/services/duck-db/duckDBConnectionManager.js +20 -20
  97. package/dist/services/duck-db/duckDBConnectionManager.js.map +1 -1
  98. package/dist/services/duck-db/duckDBQueryExecutor.d.ts.map +1 -1
  99. package/dist/services/duck-db/duckDBQueryExecutor.js +13 -13
  100. package/dist/services/duck-db/duckDBQueryExecutor.js.map +1 -1
  101. package/dist/services/duck-db/duckDBService.js +8 -8
  102. package/dist/services/duck-db/duckDBService.js.map +1 -1
  103. package/dist/services/llm-providers/openRouterProvider.d.ts.map +1 -1
  104. package/dist/services/llm-providers/openRouterProvider.js +17 -14
  105. package/dist/services/llm-providers/openRouterProvider.js.map +1 -1
  106. package/dist/services/supabase/supabaseClient.js +6 -6
  107. package/dist/services/supabase/supabaseClient.js.map +1 -1
  108. package/dist/storage/duckdbExample.js +45 -42
  109. package/dist/storage/duckdbExample.js.map +1 -1
  110. package/dist/types-global/errors.d.ts +29 -52
  111. package/dist/types-global/errors.d.ts.map +1 -1
  112. package/dist/types-global/errors.js +30 -51
  113. package/dist/types-global/errors.js.map +1 -1
  114. package/dist/utils/internal/asyncContext.d.ts +35 -0
  115. package/dist/utils/internal/asyncContext.d.ts.map +1 -0
  116. package/dist/utils/internal/asyncContext.js +38 -0
  117. package/dist/utils/internal/asyncContext.js.map +1 -0
  118. package/dist/utils/internal/errorHandler.d.ts +18 -93
  119. package/dist/utils/internal/errorHandler.d.ts.map +1 -1
  120. package/dist/utils/internal/errorHandler.js +89 -234
  121. package/dist/utils/internal/errorHandler.js.map +1 -1
  122. package/dist/utils/internal/index.d.ts +1 -0
  123. package/dist/utils/internal/index.d.ts.map +1 -1
  124. package/dist/utils/internal/index.js +1 -0
  125. package/dist/utils/internal/index.js.map +1 -1
  126. package/dist/utils/internal/logger.d.ts +16 -140
  127. package/dist/utils/internal/logger.d.ts.map +1 -1
  128. package/dist/utils/internal/logger.js +133 -425
  129. package/dist/utils/internal/logger.js.map +1 -1
  130. package/dist/utils/internal/logging-helpers.d.ts +49 -0
  131. package/dist/utils/internal/logging-helpers.d.ts.map +1 -0
  132. package/dist/utils/internal/logging-helpers.js +60 -0
  133. package/dist/utils/internal/logging-helpers.js.map +1 -0
  134. package/dist/utils/internal/performance.d.ts +2 -5
  135. package/dist/utils/internal/performance.d.ts.map +1 -1
  136. package/dist/utils/internal/performance.js +13 -7
  137. package/dist/utils/internal/performance.js.map +1 -1
  138. package/dist/utils/internal/requestContext.d.ts +21 -64
  139. package/dist/utils/internal/requestContext.d.ts.map +1 -1
  140. package/dist/utils/internal/requestContext.js +36 -72
  141. package/dist/utils/internal/requestContext.js.map +1 -1
  142. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -1
  143. package/dist/utils/metrics/tokenCounter.js +13 -9
  144. package/dist/utils/metrics/tokenCounter.js.map +1 -1
  145. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -1
  146. package/dist/utils/network/fetchWithTimeout.js +12 -12
  147. package/dist/utils/network/fetchWithTimeout.js.map +1 -1
  148. package/dist/utils/parsing/dateParser.d.ts.map +1 -1
  149. package/dist/utils/parsing/dateParser.js +8 -8
  150. package/dist/utils/parsing/dateParser.js.map +1 -1
  151. package/dist/utils/parsing/jsonParser.d.ts.map +1 -1
  152. package/dist/utils/parsing/jsonParser.js +9 -9
  153. package/dist/utils/parsing/jsonParser.js.map +1 -1
  154. package/dist/utils/scheduling/scheduler.d.ts.map +1 -1
  155. package/dist/utils/scheduling/scheduler.js +18 -15
  156. package/dist/utils/scheduling/scheduler.js.map +1 -1
  157. package/dist/utils/security/idGenerator.d.ts +6 -0
  158. package/dist/utils/security/idGenerator.d.ts.map +1 -1
  159. package/dist/utils/security/idGenerator.js +16 -4
  160. package/dist/utils/security/idGenerator.js.map +1 -1
  161. package/dist/utils/security/rateLimiter.d.ts.map +1 -1
  162. package/dist/utils/security/rateLimiter.js +5 -5
  163. package/dist/utils/security/rateLimiter.js.map +1 -1
  164. package/dist/utils/security/sanitization.js +20 -20
  165. package/dist/utils/security/sanitization.js.map +1 -1
  166. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -1
  167. package/dist/utils/telemetry/instrumentation.js +28 -66
  168. package/dist/utils/telemetry/instrumentation.js.map +1 -1
  169. package/package.json +27 -26
  170. package/dist/mcp-server/core/managedMcpServer.d.ts +0 -48
  171. package/dist/mcp-server/core/managedMcpServer.d.ts.map +0 -1
  172. package/dist/mcp-server/core/managedMcpServer.js +0 -58
  173. package/dist/mcp-server/core/managedMcpServer.js.map +0 -1
package/README.md CHANGED
@@ -5,10 +5,10 @@
5
5
  **Build production-grade Model Context Protocol (MCP) servers with a powerful, type-safe, and extensible foundation.**
6
6
 
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-^5.8.3-blue?style=flat-square)](https://www.typescriptlang.org/)
8
- [![Model Context Protocol SDK](https://img.shields.io/badge/MCP%20SDK-^1.17.1-green?style=flat-square)](https://github.com/modelcontextprotocol/typescript-sdk)
8
+ [![Model Context Protocol SDK](https://img.shields.io/badge/MCP%20SDK-^1.17.4-green?style=flat-square)](https://github.com/modelcontextprotocol/typescript-sdk)
9
9
  [![MCP Spec Version](https://img.shields.io/badge/MCP%20Spec-2025--06--18-lightgrey?style=flat-square)](https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/docs/specification/2025-06-18/changelog.mdx)
10
- [![Version](https://img.shields.io/badge/Version-1.8.1-blue?style=flat-square)](./CHANGELOG.md)
11
- [![Coverage](https://img.shields.io/badge/Coverage-64.67%25-brightgreen?style=flat-square)](./vitest.config.ts)
10
+ [![Version](https://img.shields.io/badge/Version-1.9.0-blue?style=flat-square)](./CHANGELOG.md)
11
+ [![Coverage](https://img.shields.io/badge/Coverage-46.52%25-brightgreen?style=flat-square)](./vitest.config.ts)
12
12
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue?style=flat-square)](https://opensource.org/licenses/Apache-2.0)
13
13
  [![Status](https://img.shields.io/badge/Status-Stable-green?style=flat-square)](https://github.com/cyanheads/mcp-ts-template/issues)
14
14
  [![GitHub](https://img.shields.io/github/stars/cyanheads/mcp-ts-template?style=social)](https://github.com/cyanheads/mcp-ts-template)
@@ -26,18 +26,18 @@ Building a robust server for AI agents is more than just writing code. It requir
26
26
  - **Best Practices by Default**: Enforces a clean, modular architecture that's easy to maintain and extend.
27
27
  - **AI-Ready**: Designed with LLM agents in mind, including detailed schemas and rich LLM developer-friendly resources (e.g. .clinerules).
28
28
 
29
- > **Note on src/mcp-client & src/agent:** The MCP client & Agent components have been enhanced and moved to the [**atlas-mcp-agent**](https://github.com/cyanheads/atlas-mcp-agent) repository. This template now focuses exclusively on providing a best-in-class server implementation and framework.
29
+ > **Note on src/mcp-client & src/agent:** The MCP client & Agent components have been enhanced and moved to the (Coming Soon)[**atlas-mcp-agent**](https://github.com/cyanheads/atlas-mcp-agent) repository. This template now focuses exclusively on providing a best-in-class server implementation and framework.
30
30
 
31
31
  ## ✨ Key Features
32
32
 
33
33
  | Feature Area | Description | Key Components / Location |
34
34
  | :-------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------- |
35
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
- | **🔭 Observability** | Built-in **OpenTelemetry** for distributed tracing and metrics. Auto-instrumentation for core modules and custom tracing for all tool executions. | `src/utils/telemetry/` |
37
- | **🚀 Production Utilities** | Logging, Error Handling, ID Generation, Rate Limiting, Request Context tracking, Input Sanitization. | `src/utils/` |
36
+ | **🔭 Observability** | Built-in **OpenTelemetry** for distributed tracing and metrics. Auto-instrumentation for core modules and custom tracing for all tool executions. | `src/utils/telemetry/` |
37
+ | **🚀 Production Utilities** | High-performance logging (Pino), Error Handling, ID Generation, Rate Limiting, Async Request Context, Input Sanitization. | `src/utils/` |
38
38
  | **🔒 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/` |
39
- | **⚙️ Error Handling** | Consistent error categorization (`BaseErrorCode`), detailed logging, centralized handling (`ErrorHandler`). | `src/utils/internal/errorHandler.ts`, `src/types-global/` |
40
- | **📚 Documentation** | Comprehensive `README.md`, structured JSDoc comments, API references. | `README.md`, Codebase, `tsdoc.json`, `docs/api-references/` |
39
+ | **⚙️ Error Handling** | Consistent error categorization (`JsonRpcErrorCode`), detailed logging, centralized handling (`ErrorHandler`). | `src/utils/internal/errorHandler.ts`, `src/types-global/` |
40
+ | **📚 Documentation** | Comprehensive `README.md`, structured JSDoc comments, API references, and a detailed [Migration Guide](./docs/migrations/v1.9.0.md). | `README.md`, Codebase, `tsdoc.json`, `docs/` |
41
41
  | **🕵️ 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` |
42
42
  | **🤖 Agent Ready** | Includes a [.clinerules](./.clinerules/clinerules.md) developer cheatsheet tailored for LLM coding agents. | `.clinerules/` |
43
43
  | **🛠️ Utility Scripts** | Scripts for cleaning builds, setting executable permissions, generating directory trees, and fetching OpenAPI specs. | `scripts/` |
@@ -49,12 +49,12 @@ Building a robust server for AI agents is more than just writing code. It requir
49
49
 
50
50
  This template is built on a set of architectural principles to ensure modularity, testability, and operational clarity.
51
51
 
52
- - **Core Server (`src/mcp-server/server.ts`)**: The central point where tools and resources are registered. It uses a `ManagedMcpServer` wrapper to provide enhanced introspection capabilities. It acts the same way as the native McpServer, but with additional features like introspection and enhanced error handling.
52
+ - **Core Server (`src/mcp-server/server.ts`)**: The central point where tools and resources are registered using the standard `McpServer` from the SDK.
53
53
  - **Transports (`src/mcp-server/transports/`)**: The transport layer connects the core server to the outside world. It supports both `stdio` for direct process communication and a streamable **Hono**-based `http` server.
54
54
  - **"Logic Throws, Handler Catches"**: This is the immutable cornerstone of our error-handling strategy.
55
55
  - **Core Logic (`logic.ts`)**: This layer is responsible for pure, self-contained business logic. It **throws** a structured `McpError` on any failure.
56
- - **Handlers (`registration.ts`)**: This layer interfaces with the server, invokes the core logic, and **catches** any errors. It is the exclusive location where errors are processed and formatted into a final response.
57
- - **Structured, Traceable Operations**: Every operation is traced from initiation to completion via a `RequestContext` that is passed through the entire call stack, ensuring comprehensive and structured logging.
56
+ - **Handlers (`registration.ts`)**: This layer interfaces with the server, invokes the core logic, and **catches** any errors using centralized utilities (`createToolHandler`). It is the exclusive location where errors are processed and formatted into a final response.
57
+ - **Structured, Traceable Operations**: Every operation is traced from initiation to completion via a `RequestContext` that is implicitly available throughout the entire asynchronous call stack using Node.js's `AsyncLocalStorage`.
58
58
 
59
59
  ## Quick Start
60
60
 
@@ -79,11 +79,11 @@ npm run build
79
79
 
80
80
  - **Via Stdio (Default):**
81
81
  ```bash
82
- npm run start:server
82
+ npm run start:stdio
83
83
  ```
84
84
  - **Via Streamable HTTP:**
85
85
  ```bash
86
- npm run start:server:http
86
+ npm run start:http
87
87
  ```
88
88
 
89
89
  ### 4. Running Tests
@@ -107,21 +107,21 @@ This template uses [Vitest](https://vitest.dev/) for testing, with a strong emph
107
107
 
108
108
  Configure the server using these environment variables (or a `.env` file):
109
109
 
110
- | Variable | Description | Default |
111
- | :-------------------- | :---------------------------------------------------------------------------------------- | :------------------------------------- |
112
- | `MCP_TRANSPORT_TYPE` | Server transport: `stdio` or `http`. | `stdio` |
113
- | `MCP_SESSION_MODE` | Session mode for HTTP: `stateless`, `stateful`, or `auto`. | `auto` |
114
- | `MCP_HTTP_PORT` | Port for the HTTP server. | `3010` |
115
- | `MCP_HTTP_HOST` | Host address for the HTTP server. | `127.0.0.1` |
116
- | `MCP_ALLOWED_ORIGINS` | Comma-separated allowed origins for CORS. | (none) |
117
- | `MCP_AUTH_MODE` | Authentication mode for HTTP: `jwt`, `oauth`, or `none`. | `none` |
118
- | `MCP_AUTH_SECRET_KEY` | **Required for `jwt` mode.** Secret key (min 32 chars) for signing/verifying auth tokens. | (none - **MUST be set in production**) |
119
- | `OAUTH_ISSUER_URL` | **Required for `oauth` mode.** The issuer URL of your authorization server. | (none) |
120
- | `OAUTH_AUDIENCE` | **Required for `oauth` mode.** The audience identifier for this MCP server. | (none) |
121
- | `OPENROUTER_API_KEY` | API key for OpenRouter.ai service. | (none) |
122
- | `OTEL_ENABLED` | Set to `true` to enable OpenTelemetry instrumentation. | `false` |
123
- | `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | The OTLP endpoint for exporting traces (e.g., `http://localhost:4318/v1/traces`). | (none; logs to file) |
124
- | `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | The OTLP endpoint for exporting metrics (e.g., `http://localhost:4318/v1/metrics`). | (none) |
110
+ | Variable | Description | Default |
111
+ | :------------------------------------ | :---------------------------------------------------------------------------------------- | :------------------------------------- |
112
+ | `MCP_TRANSPORT_TYPE` | Server transport: `stdio` or `http`. | `stdio` |
113
+ | `MCP_SESSION_MODE` | Session mode for HTTP: `stateless`, `stateful`, or `auto`. | `auto` |
114
+ | `MCP_HTTP_PORT` | Port for the HTTP server. | `3010` |
115
+ | `MCP_HTTP_HOST` | Host address for the HTTP server. | `127.0.0.1` |
116
+ | `MCP_ALLOWED_ORIGINS` | Comma-separated allowed origins for CORS. | (none) |
117
+ | `MCP_AUTH_MODE` | Authentication mode for HTTP: `jwt`, `oauth`, or `none`. | `none` |
118
+ | `MCP_AUTH_SECRET_KEY` | **Required for `jwt` mode.** Secret key (min 32 chars) for signing/verifying auth tokens. | (none - **MUST be set in production**) |
119
+ | `OAUTH_ISSUER_URL` | **Required for `oauth` mode.** The issuer URL of your authorization server. | (none) |
120
+ | `OAUTH_AUDIENCE` | **Required for `oauth` mode.** The audience identifier for this MCP server. | (none) |
121
+ | `OPENROUTER_API_KEY` | API key for OpenRouter.ai service. | (none) |
122
+ | `OTEL_ENABLED` | Set to `true` to enable OpenTelemetry instrumentation. | `false` |
123
+ | `OTEL_EXPORTER_OTLP_TRACES_ENDPOINT` | The OTLP endpoint for exporting traces (e.g., `http://localhost:4318/v1/traces`). | (none; logs to file) |
124
+ | `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | The OTLP endpoint for exporting metrics (e.g., `http://localhost:4318/v1/metrics`). | (none) |
125
125
 
126
126
  ## 🏗️ Project Structure
127
127
 
@@ -150,13 +150,13 @@ This is the cornerstone of the architecture:
150
150
 
151
151
  1. **`logic.ts`**: This file contains the pure business logic.
152
152
  - It defines the Zod schemas for input and output, which serve as the single source of truth for the tool's data contract.
153
- - The core logic function is pure: it takes validated parameters and a request context, and either returns a result or **throws** a structured `McpError`.
153
+ - The core logic function is pure: it takes validated parameters and either returns a result or **throws** a structured `McpError`. It retrieves the request context via `getRequestContext()`.
154
154
  - It **never** contains `try...catch` blocks for formatting a final response.
155
155
 
156
156
  2. **`registration.ts`**: This file is the "handler" that connects the logic to the MCP server.
157
157
  - It imports the schemas and logic function from `logic.ts`.
158
- - It calls `server.registerTool()`, providing the tool's metadata and the runtime handler.
159
- - The runtime handler **always** wraps the call to the logic function in a `try...catch` block. This is the **only** place where errors are caught, processed by the `ErrorHandler`, and formatted into a standardized error response.
158
+ - It calls `server.registerTool()`, providing the tool's metadata and the runtime handler created by the `createToolHandler` utility.
159
+ - The centralized handler **always** wraps the call to the logic function in a `try...catch` block. This is the **only** place where errors are caught, processed by the `ErrorHandler`, and formatted into a standardized error response.
160
160
 
161
161
  This pattern ensures that core logic remains decoupled, pure, and easily testable, while the registration layer handles all transport-level concerns, side effects, and response formatting.
162
162
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAmRH,eAAO,MAAM,MAAM;;cA/NiB,MAAM;iBAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsS1D,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAwB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoRH,eAAO,MAAM,MAAM;;cAhOiB,MAAM;iBAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuS1D,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAwB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC"}
@@ -16,7 +16,7 @@ dotenv.config();
16
16
  const findProjectRoot = (startDir) => {
17
17
  let currentDir = startDir;
18
18
  // If the start directory is in `dist`, start searching from the parent directory.
19
- if (path.basename(currentDir) === 'dist') {
19
+ if (path.basename(currentDir) === "dist") {
20
20
  currentDir = path.dirname(currentDir);
21
21
  }
22
22
  while (true) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -9,12 +9,12 @@
9
9
  // IMPORTANT: This line MUST be the first import to ensure OpenTelemetry is
10
10
  // initialized before any other modules are loaded.
11
11
  import { shutdownOpenTelemetry } from "./utils/telemetry/instrumentation.js";
12
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
- import http from "http";
14
12
  import { config, environment } from "./config/index.js";
15
13
  import { initializeAndStartServer } from "./mcp-server/server.js";
16
14
  import { requestContextService } from "./utils/index.js";
17
- import { logger } from "./utils/internal/logger.js";
15
+ import { logFatal, logOperationError, logOperationStart, logOperationSuccess, } from "./utils/internal/logging-helpers.js";
16
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
17
+ import http from "http";
18
18
  let mcpStdioServer;
19
19
  let actualHttpServer;
20
20
  const shutdown = async (signal) => {
@@ -22,61 +22,38 @@ const shutdown = async (signal) => {
22
22
  operation: "ServerShutdown",
23
23
  triggerEvent: signal,
24
24
  });
25
- logger.info(`Received ${signal}. Initiating graceful shutdown...`, shutdownContext);
25
+ logOperationStart(shutdownContext, `Received ${signal}. Initiating graceful shutdown...`);
26
26
  try {
27
- // Shutdown OpenTelemetry first to ensure buffered telemetry is sent
28
27
  await shutdownOpenTelemetry();
29
28
  let closePromise = Promise.resolve();
30
29
  const transportType = config.mcpTransportType;
31
30
  if (transportType === "stdio" && mcpStdioServer) {
32
- logger.info("Attempting to close main MCP server (STDIO)...", shutdownContext);
31
+ logOperationStart(shutdownContext, "Attempting to close main MCP server (STDIO)...");
33
32
  closePromise = mcpStdioServer.close();
34
33
  }
35
34
  else if (transportType === "http" && actualHttpServer) {
36
- logger.info("Attempting to close HTTP server...", shutdownContext);
35
+ logOperationStart(shutdownContext, "Attempting to close HTTP server...");
37
36
  closePromise = new Promise((resolve, reject) => {
38
37
  actualHttpServer.close((err) => {
39
38
  if (err) {
40
- logger.error("Error closing HTTP server.", err, shutdownContext);
39
+ logOperationError(shutdownContext, "Error closing HTTP server.", err);
41
40
  return reject(err);
42
41
  }
43
- logger.info("HTTP server closed successfully.", shutdownContext);
42
+ logOperationSuccess(shutdownContext, "HTTP server closed successfully.");
44
43
  resolve();
45
44
  });
46
45
  });
47
46
  }
48
47
  await closePromise;
49
- logger.info("Graceful shutdown completed successfully. Exiting.", shutdownContext);
48
+ logOperationSuccess(shutdownContext, "Graceful shutdown completed successfully. Exiting.");
50
49
  process.exit(0);
51
50
  }
52
51
  catch (error) {
53
- logger.error("Critical error during shutdown process.", error, shutdownContext);
52
+ logOperationError(shutdownContext, "Critical error during shutdown process.", error);
54
53
  process.exit(1);
55
54
  }
56
55
  };
57
56
  const start = async () => {
58
- const validMcpLogLevels = [
59
- "debug",
60
- "info",
61
- "notice",
62
- "warning",
63
- "error",
64
- "crit",
65
- "alert",
66
- "emerg",
67
- ];
68
- const initialLogLevelConfig = config.logLevel;
69
- let validatedMcpLogLevel = "info";
70
- if (validMcpLogLevels.includes(initialLogLevelConfig)) {
71
- validatedMcpLogLevel = initialLogLevelConfig;
72
- }
73
- else {
74
- if (process.stdout.isTTY) {
75
- console.warn(`[Startup Warning] Invalid MCP_LOG_LEVEL "${initialLogLevelConfig}". Defaulting to "info".`);
76
- }
77
- }
78
- await logger.initialize(validatedMcpLogLevel);
79
- logger.info(`Logger initialized. Effective MCP logging level: ${validatedMcpLogLevel}.`, requestContextService.createRequestContext({ operation: "LoggerInit" }));
80
57
  const transportType = config.mcpTransportType;
81
58
  const startupContext = requestContextService.createRequestContext({
82
59
  operation: `ServerStartupSequence_${transportType}`,
@@ -84,7 +61,7 @@ const start = async () => {
84
61
  applicationVersion: config.mcpServerVersion,
85
62
  nodeEnvironment: environment,
86
63
  });
87
- logger.info(`Starting ${config.mcpServerName} (Version: ${config.mcpServerVersion}, Transport: ${transportType}, Env: ${environment})...`, startupContext);
64
+ logOperationStart(startupContext, `Starting ${config.mcpServerName} (Version: ${config.mcpServerVersion}, Transport: ${transportType}, Env: ${environment})...`);
88
65
  try {
89
66
  const serverInstance = await initializeAndStartServer();
90
67
  if (transportType === "stdio" && serverInstance instanceof McpServer) {
@@ -94,20 +71,28 @@ const start = async () => {
94
71
  serverInstance instanceof http.Server) {
95
72
  actualHttpServer = serverInstance;
96
73
  }
97
- logger.info(`${config.mcpServerName} is now running and ready.`, startupContext);
74
+ logOperationSuccess(startupContext, `${config.mcpServerName} is now running and ready.`);
98
75
  process.on("SIGTERM", () => shutdown("SIGTERM"));
99
76
  process.on("SIGINT", () => shutdown("SIGINT"));
77
+ // The logger already has a global uncaughtException handler for logging.
78
+ // This handler is for initiating a graceful shutdown.
100
79
  process.on("uncaughtException", (error) => {
101
- logger.fatal("FATAL: Uncaught exception detected.", error, startupContext);
80
+ const context = requestContextService.createRequestContext({
81
+ operation: "uncaughtException",
82
+ });
83
+ logFatal(context, "FATAL: Uncaught exception triggered shutdown.", error);
102
84
  shutdown("uncaughtException");
103
85
  });
104
86
  process.on("unhandledRejection", (reason) => {
105
- logger.fatal("FATAL: Unhandled promise rejection detected.", reason, startupContext);
87
+ const context = requestContextService.createRequestContext({
88
+ operation: "unhandledRejection",
89
+ });
90
+ logFatal(context, "FATAL: Unhandled promise rejection triggered shutdown.", reason);
106
91
  shutdown("unhandledRejection");
107
92
  });
108
93
  }
109
94
  catch (error) {
110
- logger.fatal("CRITICAL ERROR DURING STARTUP.", error, startupContext);
95
+ logFatal(startupContext, "CRITICAL ERROR DURING STARTUP.", error);
111
96
  await shutdownOpenTelemetry(); // Attempt to flush any startup-related traces
112
97
  process.exit(1);
113
98
  }
@@ -117,9 +102,10 @@ const start = async () => {
117
102
  await start();
118
103
  }
119
104
  catch (error) {
120
- if (process.stdout.isTTY) {
121
- console.error("[GLOBAL CATCH] A fatal, unhandled error occurred:", error);
122
- }
105
+ const context = requestContextService.createRequestContext({
106
+ operation: "globalCatch",
107
+ });
108
+ logFatal(context, "[GLOBAL CATCH] A fatal, unhandled error occurred.", error);
123
109
  process.exit(1);
124
110
  }
125
111
  })();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Defines the core logic, schemas, and types for the `echo` resource.
3
3
  * @module src/mcp-server/resources/echoResource/logic
4
- * @see {@link src/mcp-server/resources/echoResource/registration.ts} for the handler and registration logic.
5
- */
4
+ **/
6
5
  import { z } from "zod";
7
6
  import { type RequestContext } from "../../../utils/index.js";
8
7
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;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"}
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;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,CAiCtC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Defines the core logic, schemas, and types for the `echo` resource.
3
3
  * @module src/mcp-server/resources/echoResource/logic
4
- * @see {@link src/mcp-server/resources/echoResource/registration.ts} for the handler and registration logic.
5
- */
4
+ **/
6
5
  import { z } from "zod";
7
6
  import { logger } from "../../../utils/index.js";
8
7
  /**
@@ -26,22 +25,22 @@ export async function echoResourceLogic(uri, params, context) {
26
25
  // For a URI like `echo://my-message?param=1`, `hostname` is `my-message`.
27
26
  const messageFromPath = uri.hostname || uri.pathname.replace(/^\/+/g, "");
28
27
  const messageToEcho = params.message || messageFromPath || "Default echo message";
29
- logger.debug("Processing echo resource logic.", {
28
+ logger.debug({
30
29
  ...context,
31
30
  resourceUri: uri.href,
32
31
  extractedMessage: messageToEcho,
33
- });
32
+ }, "Processing echo resource logic.");
34
33
  const responsePayload = {
35
34
  message: messageToEcho,
36
35
  timestamp: new Date().toISOString(),
37
36
  requestUri: uri.href,
38
37
  };
39
- logger.debug("Echo resource processed successfully.", {
38
+ logger.debug({
40
39
  ...context,
41
40
  responsePayloadSummary: {
42
41
  messageLength: responsePayload.message.length,
43
42
  },
44
- });
43
+ }, "Echo resource processed successfully.");
45
44
  return responsePayload;
46
45
  }
47
46
  //# sourceMappingURL=logic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;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"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/logic.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAuB,MAAM,kBAAkB,CAAC;AAE/D;;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,CACV;QACE,GAAG,OAAO;QACV,WAAW,EAAE,GAAG,CAAC,IAAI;QACrB,gBAAgB,EAAE,aAAa;KAChC,EACD,iCAAiC,CAClC,CAAC;IAEF,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,CACV;QACE,GAAG,OAAO;QACV,sBAAsB,EAAE;YACtB,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM;SAC9C;KACF,EACD,uCAAuC,CACxC,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -1,13 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Handles the registration of the `echo` resource with an MCP server instance.
3
3
  * @module src/mcp-server/resources/echoResource/registration.ts
4
- * @see {@link src/mcp-server/resources/echoResource/logic.ts} for the core business logic and schemas.
5
- */
4
+ **/
6
5
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
7
- /**
8
- * Registers the 'echo' resource and its handlers with the provided MCP server instance.
9
- *
10
- * @param server - The MCP server instance to register the resource with.
11
- */
12
6
  export declare const registerEchoResource: (server: McpServer) => Promise<void>;
13
7
  //# sourceMappingURL=registration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AAcjD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CA8Fd,CAAC"}
1
+ {"version":3,"file":"registration.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EACL,SAAS,EAEV,MAAM,yCAAyC,CAAC;AA+BjD,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAsDd,CAAC"}
@@ -1,80 +1,52 @@
1
1
  /**
2
2
  * @fileoverview Handles the registration of the `echo` resource with an MCP server instance.
3
3
  * @module src/mcp-server/resources/echoResource/registration.ts
4
- * @see {@link src/mcp-server/resources/echoResource/logic.ts} for the core business logic and schemas.
5
- */
4
+ **/
6
5
  import { ResourceTemplate, } from "@modelcontextprotocol/sdk/server/mcp.js";
7
- import { BaseErrorCode } from "../../../types-global/errors.js";
8
- import { ErrorHandler, logger, requestContextService, } from "../../../utils/index.js";
6
+ import { JsonRpcErrorCode } from "../../../types-global/errors.js";
7
+ import { ErrorHandler, requestContextService, } from "../../../utils/index.js";
8
+ import { logOperationStart, logOperationSuccess, } from "../../../utils/internal/logging-helpers.js";
9
+ import { createResourceHandler, } from "../../resources/utils/resource-utils.js";
9
10
  import { echoResourceLogic } from "./logic.js";
10
- /**
11
- * Registers the 'echo' resource and its handlers with the provided MCP server instance.
12
- *
13
- * @param server - The MCP server instance to register the resource with.
14
- */
11
+ const RESOURCE_NAME = "echo-resource";
12
+ const responseFormatter = (result, uri) => ({
13
+ contents: [
14
+ {
15
+ uri: uri.href,
16
+ mimeType: "application/json",
17
+ text: JSON.stringify(result),
18
+ },
19
+ ],
20
+ });
15
21
  export const registerEchoResource = async (server) => {
16
- const resourceName = "echo-resource";
17
22
  const registrationContext = requestContextService.createRequestContext({
18
23
  operation: "RegisterResource",
19
- resourceName: resourceName,
24
+ resourceName: RESOURCE_NAME,
20
25
  });
21
- logger.info(`Registering resource: '${resourceName}'`, registrationContext);
26
+ logOperationStart(registrationContext, `Registering resource: '${RESOURCE_NAME}'`);
22
27
  await ErrorHandler.tryCatch(async () => {
23
28
  const template = new ResourceTemplate("echo://{message}", {
24
- list: async () => {
25
- return {
26
- resources: [
27
- {
28
- uri: "echo://hello",
29
- name: "Default Echo Message",
30
- description: "A simple echo resource example.",
31
- },
32
- ],
33
- };
34
- },
29
+ list: async () => ({
30
+ resources: [
31
+ {
32
+ uri: "echo://hello",
33
+ name: "Default Echo Message",
34
+ description: "A simple echo resource example.",
35
+ },
36
+ ],
37
+ }),
35
38
  });
36
- server.resource(resourceName, template, {
39
+ server.resource(RESOURCE_NAME, template, {
37
40
  name: "Echo Message Resource",
38
41
  description: "A simple echo resource that returns a message.",
39
42
  mimeType: "application/json",
40
43
  examples: [{ name: "Basic echo", uri: "echo://hello" }],
41
- }, async (uri, params, callContext) => {
42
- const sessionId = typeof callContext?.sessionId === "string"
43
- ? callContext.sessionId
44
- : undefined;
45
- const handlerContext = requestContextService.createRequestContext({
46
- parentContext: callContext,
47
- operation: "HandleResourceRead",
48
- resourceUri: uri.href,
49
- sessionId,
50
- inputParams: params,
51
- });
52
- try {
53
- const responseData = await echoResourceLogic(uri, params, handlerContext);
54
- return {
55
- contents: [
56
- {
57
- uri: uri.href,
58
- blob: Buffer.from(JSON.stringify(responseData)).toString("base64"),
59
- mimeType: "application/json",
60
- },
61
- ],
62
- };
63
- }
64
- catch (error) {
65
- // Re-throw to be caught by the SDK's top-level error handler
66
- throw ErrorHandler.handleError(error, {
67
- operation: "echoResourceReadHandler",
68
- context: handlerContext,
69
- input: { uri: uri.href, params },
70
- });
71
- }
72
- });
73
- logger.info(`Resource '${resourceName}' registered successfully.`, registrationContext);
44
+ }, createResourceHandler(RESOURCE_NAME, echoResourceLogic, responseFormatter));
45
+ logOperationSuccess(registrationContext, `Resource '${RESOURCE_NAME}' registered successfully.`);
74
46
  }, {
75
- operation: `RegisteringResource_${resourceName}`,
47
+ operation: `RegisteringResource_${RESOURCE_NAME}`,
76
48
  context: registrationContext,
77
- errorCode: BaseErrorCode.INITIALIZATION_FAILED,
49
+ errorCode: JsonRpcErrorCode.InitializationFailed,
78
50
  critical: true,
79
51
  });
80
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registration.js","sourceRoot":"","sources":["../../../../src/mcp-server/resources/echoResource/registration.ts"],"names":[],"mappings":"AAAA;;;IAGI;AAEJ,OAAO,EAEL,gBAAgB,GACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,qBAAqB,GAEtB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAA+B,MAAM,YAAY,CAAC;AAE5E,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,MAAM,iBAAiB,GAEnB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACpB,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,GAAG,CAAC,IAAI;YACb,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;SAC7B;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiB,EACF,EAAE;IACjB,MAAM,mBAAmB,GACvB,qBAAqB,CAAC,oBAAoB,CAAC;QACzC,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,aAAa;KAC5B,CAAC,CAAC;IAEL,iBAAiB,CACf,mBAAmB,EACnB,0BAA0B,aAAa,GAAG,CAC3C,CAAC;IAEF,MAAM,YAAY,CAAC,QAAQ,CACzB,KAAK,IAAI,EAAE;QACT,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,kBAAkB,EAAE;YACxD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;gBACjB,SAAS,EAAE;oBACT;wBACE,GAAG,EAAE,cAAc;wBACnB,IAAI,EAAE,sBAAsB;wBAC5B,WAAW,EAAE,iCAAiC;qBAC/C;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CACb,aAAa,EACb,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,qBAAqB,CACnB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,CAClB,CACF,CAAC;QAEF,mBAAmB,CACjB,mBAAmB,EACnB,aAAa,aAAa,4BAA4B,CACvD,CAAC;IACJ,CAAC,EACD;QACE,SAAS,EAAE,uBAAuB,aAAa,EAAE;QACjD,OAAO,EAAE,mBAAmB;QAC5B,SAAS,EAAE,gBAAgB,CAAC,oBAAoB;QAChD,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview Centralized registration for all available MCP resources.
3
+ * This module imports all resource registration functions and exports a single
4
+ * function to register them all with the MCP server, simplifying server setup.
5
+ * @module src/mcp-server/resources/index
6
+ */
7
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ /** Registers all available resources with the MCP server. */
9
+ export declare const registerAllResources: (server: McpServer) => Promise<void>;
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/resources/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,6DAA6D;AAC7D,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,SAAS,KAChB,OAAO,CAAC,IAAI,CAYd,CAAC"}