@tanstack/ai-mcp
Version:
Host-side Model Context Protocol client for TanStack AI: discover and run MCP server tools, resources, and prompts in any adapter's chat() loop, with generated end-to-end types.
32 lines (30 loc) • 949 B
text/typescript
import { MCPEventConfigError } from '../errors'
import { listEventDefinitions } from './list'
import type { MCPEvents, MCPEventsContext } from './types'
/**
* Discovery-only events API. `list()` works; subscribe/refresh/unsubscribe throw.
*
* @experimental
*/
export function createDiscoveryMCPEvents(ctx: MCPEventsContext): MCPEvents {
return {
list(options) {
return listEventDefinitions(ctx, options?.signal)
},
async subscribe() {
throw new MCPEventConfigError(
'experimental_events.store or experimental_events.adapter is required to subscribe',
)
},
async refresh() {
throw new MCPEventConfigError(
'experimental_events.store or experimental_events.adapter is required to refresh',
)
},
async unsubscribe() {
throw new MCPEventConfigError(
'experimental_events.store or experimental_events.adapter is required to unsubscribe',
)
},
}
}