/** * @fileoverview MCP Chainweb server - high-level McpServer wiring. * * Devnet-first. Registers 11 tools (v0.2.0): * MVP (v0.1): * - chainweb_info * - chainweb_chain_time * - chainweb_local * - chainweb_send * - chainweb_poll * v0.2 additions: * - chainweb_read_table * - chainweb_keys * - chainweb_principal_namespace * - chainweb_deploy_module * - chainweb_continue_pact * - chainweb_spv_proof * * Applies the pact-mcp security baseline inline (same pattern as * mcp-pact), then constructs an allowlisted HTTP client pointed at the * configured profile base URL. */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { type ChainwebClient } from './client/fetch.js'; export declare const SERVER_NAME = "pact-community-chainweb"; export declare const SERVER_VERSION = "0.3.0"; /** Environment variables the server accepts from its parent process. */ export declare const ALLOWED_ENV: string[]; /** Production devnet allowlist — forge/guardian/security nginx ports. */ export declare const PROD_ALLOWED_ORIGINS: readonly string[]; export declare const TESTNET06_ALLOWED_ORIGINS: readonly string[]; export declare const MAINNET_ALLOWED_ORIGINS: readonly string[]; export type ChainwebProfile = 'devnet' | 'testnet06' | 'mainnet'; export interface ResolvedConfig { profile: ChainwebProfile; baseUrl: string; networkId: string; allowedOrigins: string[]; writesEnabled: boolean; /** * Programmatic test-only extension (never set from env). The bin entry * point does NOT populate this — only in-process test harnesses do. */ additionalAllowedOrigins: string[]; lockfilePath: string; } /** * Apply the pact-mcp security baseline baseline and compute the server config. */ export declare function resolveConfig(): ResolvedConfig; /** * Build (but do not connect) an McpServer. Test harnesses call * this with a config that may include `additionalAllowedOrigins` to point * the chainweb client at an in-process mock server. */ export declare function buildMcpServer(config: ResolvedConfig): McpServer; /** * Lower-level factory used by unit tests that want to inject a * pre-built client directly (e.g. with a stubbed mock base URL). */ export declare function buildMcpServerWithClient(client: ChainwebClient, options?: { profile?: ChainwebProfile; writesEnabled?: boolean; }): McpServer; export declare function getToolSchemaObjects(): Record; //# sourceMappingURL=server.d.ts.map