resource-handler.ts•1.41 kB
// src/handlers/resource-handler.ts
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ReadResourceRequestSchema, ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
import { NeoService, NeoNetwork } from '../services/neo-service';
import { ContractService } from '../contracts/contract-service';
import { FAMOUS_CONTRACTS, ContractDefinition, ContractNetwork } from '../contracts/contracts';
import { config, NetworkMode } from '../config';
import { validateAddress, validateScriptHash } from '../utils/validation';
import { handleError, createSuccessResponse } from '../utils/error-handler';
// TODO: Move resource registration logic here
// TODO: Move resource read handling logic here
export function setupResourceHandlers(
server: Server,
neoServices: Map<NeoNetwork, NeoService>,
contractServices: Map<NeoNetwork, ContractService>
) {
// Placeholder: Resource registration and request handling logic will be moved here
console.log('Setting up resource handlers...');
// Example structures (to be filled in)
// server.setRequestHandler(ListResourcesRequestSchema, async () => { /* ... */ });
// server.setRequestHandler(ListResourceTemplatesRequestSchema, async () => { /* ... */ });
// server.setRequestHandler(ReadResourceRequestSchema, async (request) => { /* ... */ });
}