@kya-os/mcp-i-cloudflare 1.3.10 → 1.4.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 (51) hide show
  1. package/README.md +132 -255
  2. package/dist/adapter.js.map +1 -1
  3. package/dist/agent.d.ts +88 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +157 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/app.d.ts +52 -0
  8. package/dist/app.d.ts.map +1 -0
  9. package/dist/app.js +115 -0
  10. package/dist/app.js.map +1 -0
  11. package/dist/config.d.ts +26 -0
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js +83 -0
  14. package/dist/config.js.map +1 -1
  15. package/dist/constants.d.ts +32 -0
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/constants.js +32 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/helpers/env-mapper.d.ts +23 -0
  20. package/dist/helpers/env-mapper.d.ts.map +1 -0
  21. package/dist/helpers/env-mapper.js +39 -0
  22. package/dist/helpers/env-mapper.js.map +1 -0
  23. package/dist/index.d.ts +28 -31
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +51 -37
  26. package/dist/index.js.map +1 -1
  27. package/dist/server.d.ts +58 -0
  28. package/dist/server.d.ts.map +1 -0
  29. package/dist/server.js +125 -0
  30. package/dist/server.js.map +1 -0
  31. package/dist/services/admin.service.d.ts +22 -0
  32. package/dist/services/admin.service.d.ts.map +1 -0
  33. package/dist/services/admin.service.js +151 -0
  34. package/dist/services/admin.service.js.map +1 -0
  35. package/dist/services/consent.service.d.ts +25 -0
  36. package/dist/services/consent.service.d.ts.map +1 -0
  37. package/dist/services/consent.service.js +48 -0
  38. package/dist/services/consent.service.js.map +1 -0
  39. package/dist/services/delegation.service.d.ts +33 -0
  40. package/dist/services/delegation.service.d.ts.map +1 -0
  41. package/dist/services/delegation.service.js +168 -0
  42. package/dist/services/delegation.service.js.map +1 -0
  43. package/dist/services/proof.service.d.ts +32 -0
  44. package/dist/services/proof.service.d.ts.map +1 -0
  45. package/dist/services/proof.service.js +95 -0
  46. package/dist/services/proof.service.js.map +1 -0
  47. package/dist/types.d.ts +27 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +7 -0
  50. package/dist/types.js.map +1 -0
  51. package/package.json +6 -2
package/README.md CHANGED
@@ -1,36 +1,23 @@
1
1
  # @kya-os/mcp-i-cloudflare
2
2
 
3
- > **⚠️ DEPRECATED**: This adapter does not support MCP protocol transports (SSE/HTTP streaming).
4
- >
5
- > **Use [McpAgent from agents/mcp](https://developers.cloudflare.com/agents/model-context-protocol/) instead.**
6
- >
7
- > See the [migration guide](../../CLOUDFLARE_DEPLOYMENT.md) for updated implementation patterns.
8
-
9
- ---
10
-
11
3
  Cloudflare Workers runtime for MCP-I (Model Context Protocol with Identity). Deploy cryptographically-signed MCP servers to Cloudflare's edge network with full identity support.
12
4
 
13
- ## Status
5
+ ## Overview
14
6
 
15
- This package provides the MCP-I runtime layer for Cloudflare Workers but **does not** include MCP protocol transport support. For a complete MCP server implementation on Cloudflare Workers with SSE and HTTP streaming support, use the [Cloudflare Agents SDK](https://developers.cloudflare.com/agents/model-context-protocol/) with `agents/mcp`.
7
+ This package provides a Next.js-style architecture for building MCP-I agents on Cloudflare Workers. All framework complexity is hidden within the package, leaving your scaffolded code clean and focused on business logic.
16
8
 
17
- ### What This Package Provides
9
+ ### Key Features
18
10
 
11
+ - ✅ **MCPICloudflareServer**: Central server class that handles all framework routing
12
+ - ✅ **Service Architecture**: Delegation, Proof, Admin, and Consent services
13
+ - ✅ **defineConfig**: Smart configuration with sensible defaults
19
14
  - ✅ **Identity Management**: DID-based identity with Ed25519 keys
20
15
  - ✅ **Cryptographic Proofs**: Sign tool responses with detached proofs
21
16
  - ✅ **Session Management**: Stateless sessions with nonce protection
22
17
  - ✅ **KV Storage**: Use Workers KV for nonce cache and identity
23
18
  - ✅ **Audit Logging**: Track all operations with configurable logging
24
19
 
25
- ### What This Package Does NOT Provide
26
-
27
- - ❌ **MCP Protocol Transports**: No SSE or HTTP streaming support
28
- - ❌ **MCP Client Compatibility**: Cannot connect to Claude Desktop or MCP Inspector
29
- - ❌ **Durable Objects**: No built-in state management for sessions
30
-
31
- For a complete MCP server that works with Claude Desktop and other MCP clients, use `agents/mcp` with the runtime from this package for optional proof generation.
32
-
33
- ## Quick Start with McpAgent
20
+ ## Quick Start
34
21
 
35
22
  ### 1. Create a new project
36
23
 
@@ -39,294 +26,184 @@ npx @kya-os/create-mcpi-app my-agent --platform cloudflare
39
26
  cd my-agent
40
27
  ```
41
28
 
42
- ### 2. Install dependencies
29
+ ### 2. Run setup script
43
30
 
44
31
  ```bash
45
- npm install
32
+ npm run setup
46
33
  ```
47
34
 
48
- ### 3. Configure KV Namespace
49
-
50
- ```bash
51
- # Create KV namespace for nonce cache
52
- npm run kv:create
35
+ This interactive script will:
53
36
 
54
- # Copy the ID from output and update wrangler.toml
55
- ```
37
+ - Create KV namespaces
38
+ - Update `wrangler.toml` with namespace IDs
39
+ - Set up environment variables
40
+ - Configure secrets
56
41
 
57
- ### 4. Deploy
42
+ ### 3. Start development
58
43
 
59
44
  ```bash
60
- npm run deploy
45
+ npm run dev
61
46
  ```
62
47
 
63
- ## Using MCP-I Runtime for Proof Generation
64
-
65
- While the full adapter is deprecated, you can still use the MCP-I runtime with McpAgent for cryptographic proof generation:
48
+ ## Architecture
66
49
 
67
- ```typescript
68
- import { McpAgent } from "agents/mcp";
69
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
70
- import { createCloudflareRuntime, type CloudflareEnv } from "@kya-os/mcp-i-cloudflare";
71
- import { Hono } from "hono";
72
- import { cors } from "hono/cors";
73
-
74
- export class MyMCP extends McpAgent {
75
- server = new McpServer({
76
- name: "my-server",
77
- version: "1.0.0"
78
- });
50
+ ### Why McpAgent + CloudflareRuntime?
79
51
 
80
- private mcpiRuntime?: any;
52
+ The scaffolded code uses two complementary components:
81
53
 
82
- constructor(state: DurableObjectState, env: CloudflareEnv) {
83
- super(state, env);
54
+ - **`McpAgent`** (from `agents/mcp`): Handles the MCP protocol transport layer
55
+ - Provides SSE (Server-Sent Events) and HTTP streaming transports
56
+ - Required for Cloudflare Workers compatibility
57
+ - Manages Durable Objects for stateful session management
58
+ - **`CloudflareRuntime`** (from `@kya-os/mcp-i-cloudflare`): Provides MCP-I features
59
+ - Identity management (DID generation and storage)
60
+ - Cryptographic proof generation
61
+ - Delegation verification
62
+ - Session management with nonce protection
84
63
 
85
- // Optional: Initialize MCP-I runtime for proof generation
86
- this.mcpiRuntime = createCloudflareRuntime({
87
- env: env,
88
- audit: {
89
- enabled: true,
90
- logFunction: (r) => console.log('[MCP-I]', r)
91
- }
92
- });
93
- }
94
-
95
- async init() {
96
- await this.mcpiRuntime?.initialize();
97
-
98
- this.server.tool(
99
- "greet",
100
- "Greet a user",
101
- { name: z.string() },
102
- async ({ name }) => {
103
- const result = {
104
- content: [{ type: "text" as const, text: `Hello, ${name}!` }]
105
- };
106
-
107
- // Optional: Generate cryptographic proof
108
- if (this.mcpiRuntime) {
109
- const { proof } = await this.mcpiRuntime.processToolCall(
110
- "greet",
111
- { name },
112
- async () => result,
113
- null
114
- );
115
- console.log('[PROOF]', { did: proof.did, signature: proof.signature.substring(0, 20) });
116
- }
117
-
118
- return result;
119
- }
120
- );
121
- }
122
- }
64
+ Together, they provide full MCP + MCP-I functionality on Cloudflare Workers. The `MCPICloudflareServer` class orchestrates framework-specific routes (health, admin, consent, OAuth), while `McpAgent` handles the MCP protocol endpoints (`/sse`, `/mcp`).
123
65
 
124
- const app = new Hono();
66
+ ### MCPICloudflareServer
125
67
 
126
- app.use("/*", cors({
127
- origin: "*",
128
- allowMethods: ["GET", "POST", "PUT", "DELETE", "OPTIONS"],
129
- allowHeaders: ["Content-Type", "Authorization", "mcp-session-id", "mcp-protocol-version"],
130
- exposeHeaders: ["mcp-session-id"],
131
- }));
68
+ The main server class that orchestrates all framework functionality:
132
69
 
133
- app.get("/health", (c) => c.json({ status: 'healthy' }));
134
- app.mount("/sse", MyMCP.serveSSE("/sse").fetch, { replaceRequest: false });
135
- app.mount("/mcp", MyMCP.serve("/mcp").fetch, { replaceRequest: false });
70
+ ```typescript
71
+ import { MCPICloudflareServer } from "@kya-os/mcp-i-cloudflare";
72
+ import { getRuntimeConfig } from "./mcpi-runtime-config";
73
+
74
+ export default {
75
+ async fetch(
76
+ request: Request,
77
+ env: CloudflareEnv,
78
+ ctx: ExecutionContext
79
+ ): Promise<Response> {
80
+ const server = new MCPICloudflareServer({
81
+ env,
82
+ config: getRuntimeConfig(env),
83
+ });
136
84
 
137
- export default app;
85
+ return server.handleRequest(request, ctx);
86
+ },
87
+ };
138
88
  ```
139
89
 
140
- ## Endpoints
141
-
142
- The adapter provides multiple endpoints for different MCP transport modes:
90
+ ### defineConfig
143
91
 
144
- ### `/health` (GET)
145
- Health check endpoint that returns server status and supported features:
146
- ```json
147
- {
148
- "status": "healthy",
149
- "timestamp": "2025-01-01T00:00:00Z",
150
- "transport": {
151
- "http": "/mcp",
152
- "sse": "/sse",
153
- "streamableHttp": "/mcp"
154
- },
155
- "features": ["identity", "proof", "delegation", "audit"]
156
- }
157
- ```
92
+ Simplified configuration with smart defaults:
158
93
 
159
- ### `/mcp` (POST/GET)
160
- Main MCP protocol endpoint supporting both standard HTTP and SSE:
161
- - **POST with `Accept: application/json`** - Standard JSON-RPC response
162
- - **POST with `Accept: text/event-stream`** - SSE stream response
163
- - **GET with `Accept: text/event-stream`** - Open SSE connection
164
-
165
- ### `/sse` (POST/GET)
166
- Dedicated SSE endpoint for Claude Desktop compatibility:
167
- - **GET** - Opens SSE stream for bidirectional communication
168
- - **POST** - Sends message and receives SSE response
169
-
170
- ### `/.well-known/mcp-identity/*`
171
- Identity verification endpoints for cryptographic proof validation.
172
-
173
- ## Response Format
174
-
175
- MCP-I extends standard MCP responses with detached cryptographic proofs. Understanding the response structure is important for integration.
176
-
177
- ### Standard Tool Response
178
-
179
- ```json
180
- {
181
- "jsonrpc": "2.0",
182
- "id": 1,
183
- "result": {
184
- "result": {
185
- "content": [
186
- {
187
- "type": "text",
188
- "text": "Hello, World!"
189
- }
190
- ]
94
+ ```typescript
95
+ import { defineConfig } from "@kya-os/mcp-i-cloudflare";
96
+
97
+ export function getRuntimeConfig(env: CloudflareEnv) {
98
+ return defineConfig({
99
+ // Only specify overrides - defaults are handled automatically
100
+ vars: {
101
+ ENVIRONMENT: env.ENVIRONMENT || "development",
102
+ AGENTSHIELD_API_KEY: env.AGENTSHIELD_API_KEY,
103
+ },
104
+ // Optional: Enable admin endpoints
105
+ admin: {
106
+ enabled: true,
107
+ apiKey: env.ADMIN_API_KEY,
191
108
  },
192
- "proof": {
193
- "timestamp": 1704067200000,
194
- "nonce": "abc123...",
195
- "did": "did:key:z6Mkh...",
196
- "signature": "base64...",
197
- "algorithm": "Ed25519",
198
- "sessionId": "session-123"
199
- }
200
- }
109
+ });
201
110
  }
202
111
  ```
203
112
 
204
- ### Why `result.result`?
205
-
206
- The nested structure exists because:
207
- - **Outer `result`**: Required by JSON-RPC 2.0 specification
208
- - **Inner `result`**: Contains the actual MCP tool response
209
- - **`proof`**: Detached cryptographic proof (MCP-I extension)
113
+ ### Services
210
114
 
211
- This structure maintains **backward compatibility** - standard MCP clients can extract `result.result` and ignore proofs.
115
+ The package provides several services that handle framework functionality:
212
116
 
213
- ### LLM Visibility
117
+ - **DelegationService**: Token retrieval, verification, and cache management
118
+ - **ProofService**: Proof submission to AgentShield
119
+ - **AdminService**: Admin endpoints for cache management (optional)
120
+ - **ConsentService**: Consent page rendering (Phase 0 placeholder)
214
121
 
215
- **Important:** Language models (LLMs) DO NOT see cryptographic proofs.
122
+ All services are automatically initialized by `MCPICloudflareServer` and hidden from your code.
216
123
 
217
- The proof is extracted by the MCP client (like mcp-remote) and sent to a verifier service. The LLM only receives the business data from `result.result.content`.
124
+ ## API Reference
218
125
 
219
- **Data flow:**
220
- ```
221
- MCP Server → [result + proof]
222
- ├─→ proof → Agent Bouncer Service (verification)
223
- └─→ result.result.content → LLM
224
- ```
126
+ ### MCPICloudflareServer
225
127
 
226
- This "transparent security" design keeps authentication at the protocol layer, invisible to AI.
128
+ ```typescript
129
+ class MCPICloudflareServer {
130
+ constructor(options: {
131
+ env: CloudflareEnv;
132
+ config: CloudflareRuntimeConfig;
133
+ runtime?: CloudflareRuntime;
134
+ });
227
135
 
228
- ### Proof Fields
136
+ async handleRequest(
137
+ request: Request,
138
+ ctx?: ExecutionContext
139
+ ): Promise<Response>;
140
+ async handleScheduled(event: ScheduledEvent): Promise<void>;
141
+
142
+ // Service accessors (for advanced use cases)
143
+ getDelegationService(): DelegationService;
144
+ getProofService(): ProofService;
145
+ getAdminService(): AdminService | undefined;
146
+ getConsentService(): ConsentService;
147
+ }
148
+ ```
229
149
 
230
- | Field | Description |
231
- |-------|-------------|
232
- | `timestamp` | Unix timestamp (ms) when proof was created |
233
- | `nonce` | Unique random value to prevent replay attacks (5-min lifetime) |
234
- | `did` | Decentralized Identifier of the signing agent |
235
- | `signature` | Ed25519 signature (base64) over proof metadata |
236
- | `sessionId` | Session identifier for request/response correlation |
150
+ ### defineConfig
237
151
 
238
- **See [MCP_I_RESPONSE_SPEC.md](../../MCP_I_RESPONSE_SPEC.md) for complete documentation.**
152
+ ```typescript
153
+ function defineConfig(
154
+ config: Partial<CloudflareRuntimeConfig>
155
+ ): CloudflareRuntimeConfig;
156
+ ```
239
157
 
240
- ## Claude Desktop Integration
158
+ Merges user configuration with smart defaults. Only specify what you want to override.
241
159
 
242
- Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
160
+ ### Constants
243
161
 
244
- ```json
245
- {
246
- "mcpServers": {
247
- "my-agent": {
248
- "command": "npx",
249
- "args": ["mcp-remote", "https://my-agent.workers.dev/sse"]
250
- }
251
- }
252
- }
162
+ ```typescript
163
+ export const DEFAULT_AGENTSHIELD_URL = "https://kya.vouched.id";
164
+ export const DEFAULT_SESSION_TTL = 30 * 60 * 1000; // 30 minutes
165
+ export const DEFAULT_DELEGATION_TTL = 7 * 24 * 60 * 60; // 7 days
166
+ export const DEFAULT_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
167
+ export const DEFAULT_VERIFICATION_CACHE_TTL = 60; // 1 minute
168
+ export const DEFAULT_SESSION_CACHE_TTL = 300; // 5 minutes
253
169
  ```
254
170
 
255
- **Note:** Both `/mcp` and `/sse` work with Claude Desktop. We recommend `/sse` for explicit SSE mode.
256
- The `/mcp` endpoint auto-detects transport based on Accept headers.
171
+ ## Endpoints
257
172
 
258
- ### wrangler.toml Configuration
173
+ ### `/health` (GET)
259
174
 
260
- ```toml
261
- name = "my-mcp-agent"
262
- main = "src/index.ts"
263
- compatibility_date = "2025-06-18"
264
- compatibility_flags = ["nodejs_compat"]
175
+ Health check endpoint.
265
176
 
266
- [[durable_objects.bindings]]
267
- name = "MCP_OBJECT"
268
- class_name = "MyMCP"
177
+ ### `/consent/*` (GET/POST)
269
178
 
270
- [[migrations]]
271
- tag = "v1"
272
- new_sqlite_classes = ["MyMCP"]
179
+ Consent page endpoints (Phase 0 placeholder).
273
180
 
274
- [[kv_namespaces]]
275
- binding = "NONCE_CACHE"
276
- id = "your-kv-namespace-id"
181
+ ### `/admin/*` (POST)
277
182
 
278
- [vars]
279
- XMCP_I_TS_SKEW_SEC = "120"
280
- XMCP_I_SESSION_TTL = "1800"
281
- ```
183
+ Admin endpoints for cache management (optional, requires `admin.enabled: true`).
282
184
 
283
- ## API Reference
185
+ ### `/oauth/callback` (GET)
284
186
 
285
- ### MCPICloudflareRuntime
187
+ OAuth callback handler for delegation flow.
286
188
 
287
- ```typescript
288
- class MCPICloudflareRuntime {
289
- constructor(env: MCPICloudflareEnv);
290
-
291
- async initialize(): Promise<void>;
292
- async getIdentity(): Promise<AgentIdentity>;
293
- async handleHandshake(request: HandshakeRequest): Promise<HandshakeResponse>;
294
- async processToolCall(
295
- toolName: string,
296
- args: any,
297
- handler: Function,
298
- session: SessionContext
299
- ): Promise<any>;
300
- async verifyProof(data: any, proof: any): Promise<boolean>;
301
- }
302
- ```
189
+ ## Migration from v1.x
303
190
 
304
- ### Environment Types
191
+ If you're upgrading from v1.x, see the migration guide below.
305
192
 
306
- ```typescript
307
- interface MCPICloudflareEnv {
308
- // Required
309
- NONCE_CACHE: KVNamespace;
310
-
311
- // Identity (use secrets in production)
312
- MCP_IDENTITY_DID?: string;
313
- MCP_IDENTITY_KEY_ID?: string;
314
- MCP_IDENTITY_PRIVATE_KEY?: string;
315
- MCP_IDENTITY_PUBLIC_KEY?: string;
316
-
317
- // Optional
318
- IDENTITY_KV?: KVNamespace;
319
- STORAGE_KV?: KVNamespace;
320
-
321
- // Configuration
322
- XMCP_I_TS_SKEW_SEC?: string;
323
- XMCP_I_SESSION_TTL?: string;
324
- }
325
- ```
193
+ ### Breaking Changes
194
+
195
+ - **Architecture**: Complete refactor to Next.js-style architecture
196
+ - **Scaffolded Output**: Simplified from ~826 lines to ~100 lines
197
+ - **Configuration**: New `defineConfig()` API with smart defaults
198
+ - **Services**: All framework logic moved to package services
326
199
 
327
- ## Migration Guide
200
+ ### Migration Steps
328
201
 
329
- See [CLOUDFLARE_DEPLOYMENT.md](../../CLOUDFLARE_DEPLOYMENT.md) for complete migration instructions and working examples.
202
+ 1. Update `@kya-os/mcp-i-cloudflare` to 1.4.0
203
+ 2. Replace `index.ts` with new simplified version
204
+ 3. Replace `mcpi-runtime-config.ts` with new simplified version using `defineConfig()`
205
+ 4. Remove any custom service implementations (now in package)
206
+ 5. Run `npm run setup` to configure
330
207
 
331
208
  ## License
332
209
 
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * MCP-I Cloudflare Agent Base Class
3
+ *
4
+ * Base class for MCP agents running on Cloudflare Workers with MCP-I features.
5
+ * Handles all framework complexity (runtime initialization, tool execution with proofs, etc.)
6
+ * Users only need to extend this class and register their tools.
7
+ */
8
+ import { McpAgent } from "agents/mcp";
9
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
10
+ import type { DurableObjectState } from "@cloudflare/workers-types";
11
+ import type { CloudflareEnv } from "./types";
12
+ import type { CloudflareRuntimeConfig } from "./config";
13
+ import { CloudflareRuntime } from "./runtime";
14
+ export interface MCPICloudflareAgentOptions {
15
+ /**
16
+ * Agent name (used in MCP server metadata)
17
+ */
18
+ name: string;
19
+ /**
20
+ * Agent version (used in MCP server metadata)
21
+ */
22
+ version?: string;
23
+ /**
24
+ * Environment prefix for KV bindings (e.g., "MYAPP" for MYAPP_NONCE_CACHE)
25
+ * If not provided, uses standard CloudflareEnv bindings
26
+ */
27
+ envPrefix?: string;
28
+ /**
29
+ * Runtime configuration getter function
30
+ */
31
+ getRuntimeConfig: (env: CloudflareEnv) => CloudflareRuntimeConfig;
32
+ }
33
+ /**
34
+ * Extended CloudflareEnv with prefixed KV bindings for multi-agent deployments
35
+ */
36
+ export interface PrefixedCloudflareEnv extends Omit<CloudflareEnv, 'NONCE_CACHE' | 'PROOF_ARCHIVE' | 'IDENTITY_STORAGE' | 'DELEGATION_STORAGE' | 'TOOL_PROTECTION_KV'> {
37
+ [key: string]: KVNamespace | string | DurableObjectState | undefined;
38
+ DO_ROUTING_STRATEGY?: string;
39
+ DO_SHARD_COUNT?: string;
40
+ NONCE_CACHE?: KVNamespace;
41
+ PROOF_ARCHIVE?: KVNamespace;
42
+ IDENTITY_STORAGE?: KVNamespace;
43
+ DELEGATION_STORAGE?: KVNamespace;
44
+ TOOL_PROTECTION_KV?: KVNamespace;
45
+ }
46
+ /**
47
+ * Base class for MCP agents with MCP-I features
48
+ *
49
+ * Handles:
50
+ * - Runtime initialization
51
+ * - Tool execution with automatic proof generation
52
+ * - Session management
53
+ * - Durable Object routing
54
+ *
55
+ * Users extend this class and implement `registerTools()` to add their custom tools.
56
+ */
57
+ export declare abstract class MCPICloudflareAgent extends McpAgent {
58
+ server: McpServer;
59
+ protected mcpiRuntime?: CloudflareRuntime;
60
+ protected env: PrefixedCloudflareEnv;
61
+ private options?;
62
+ constructor(state: DurableObjectState, env: PrefixedCloudflareEnv);
63
+ /**
64
+ * Register options for an agent class
65
+ * Called internally by createMCPIApp
66
+ */
67
+ static registerOptions(AgentClass: typeof MCPICloudflareAgent, options: MCPICloudflareAgentOptions): void;
68
+ /**
69
+ * Initialize the agent
70
+ * Call this after construction to set up the runtime and register tools
71
+ */
72
+ init(): Promise<void>;
73
+ /**
74
+ * Register tools with the MCP server
75
+ * Override this method in subclasses to register custom tools
76
+ */
77
+ protected abstract registerTools(): Promise<void> | void;
78
+ /**
79
+ * Execute a tool with automatic proof generation
80
+ * Use this helper method when registering tools to ensure proofs are generated
81
+ */
82
+ protected executeToolWithProof<TArgs = Record<string, unknown>, TResult = unknown>(toolName: string, args: TArgs, handler: (args: TArgs) => Promise<TResult>): Promise<TResult>;
83
+ /**
84
+ * Get Durable Object instance ID based on routing strategy
85
+ */
86
+ getInstanceId(): string;
87
+ }
88
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAI9C,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,gBAAgB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,uBAAuB,CAAC;CACnE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,eAAe,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;IACpK,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAC;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,kBAAkB,CAAC,EAAE,WAAW,CAAC;CAClC;AAKD;;;;;;;;;;GAUG;AACH,8BAAsB,mBAAoB,SAAQ,QAAQ;IAGxD,MAAM,EAAG,SAAS,CAAC;IACnB,SAAS,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC;IACrC,OAAO,CAAC,OAAO,CAAC,CAA6B;gBAG3C,KAAK,EAAE,kBAAkB,EACzB,GAAG,EAAE,qBAAqB;IA0E5B;;;OAGG;IACH,MAAM,CAAC,eAAe,CACpB,UAAU,EAAE,OAAO,mBAAmB,EACtC,OAAO,EAAE,0BAA0B,GAClC,IAAI;IAIP;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAExD;;;OAGG;cACa,oBAAoB,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,EACrF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GACzC,OAAO,CAAC,OAAO,CAAC;IA6BnB;;OAEG;IACH,aAAa,IAAI,MAAM;CA0BxB"}