import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import type { AgentSpec } from '../spec/spec';
import type { ContractSpecAgent } from '../agent/contract-spec-agent';
/**
 * Generate an MCP server that exposes a ContractSpec agent as a tool.
 *
 * This allows other AI agents (e.g., Claude Desktop, Cursor) to use
 * your ContractSpec agents as tools, enabling agent-to-agent composition.
 *
 * @param agent - The ContractSpec agent to expose
 * @param spec - The agent specification
 * @returns MCP Server instance
 *
 * @example
 * ```typescript
 * const server = agentToMcpServer(myAgent, myAgentSpec);
 *
 * // Run via stdio transport
 * const transport = new StdioServerTransport();
 * await server.connect(transport);
 * ```
 */
export declare function agentToMcpServer(agent: ContractSpecAgent, spec: AgentSpec): McpServer;
/**
 * Configuration for running an agent as an MCP server.
 */
export interface AgentMcpServerConfig {
    /** The agent to expose */
    agent: ContractSpecAgent;
    /** The agent specification */
    spec: AgentSpec;
    /** Optional server name override */
    name?: string;
    /** Optional version override */
    version?: string;
}
/**
 * Create an MCP server from configuration.
 */
export declare function createAgentMcpServer(config: AgentMcpServerConfig): McpServer;
