UNPKG

@foundrole/ai-job-search-mcp

Version:

Run your job search from your AI assistant. Connect FoundRole to Claude, ChatGPT, Cursor, or any MCP client and search live jobs right away — no sign-up. Sign in once (your AI does it for you) to save and track applications on a Kanban board, set follow-u

54 lines 2.88 kB
import { CallToolRequestSchema, CompleteRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListResourceTemplatesRequestSchema, ListToolsRequestSchema, LoggingMessageNotificationSchema, ReadResourceRequestSchema, ResourceUpdatedNotificationSchema, SubscribeRequestSchema, UnsubscribeRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; export const proxyServer = async ({ client, getClient, server, serverCapabilities, }) => { const getCurrentClient = () => getClient?.() || client; if (serverCapabilities?.logging) { server.setNotificationHandler(LoggingMessageNotificationSchema, async (args) => { return getCurrentClient().notification(args); }); getCurrentClient().setNotificationHandler(LoggingMessageNotificationSchema, async (args) => { return server.notification(args); }); } if (serverCapabilities?.prompts) { server.setRequestHandler(GetPromptRequestSchema, async (args) => { return getCurrentClient().getPrompt(args.params); }); server.setRequestHandler(ListPromptsRequestSchema, async (args) => { return getCurrentClient().listPrompts(args.params); }); } if (serverCapabilities?.resources) { server.setRequestHandler(ListResourcesRequestSchema, async (args) => { return getCurrentClient().listResources(args.params); }); server.setRequestHandler(ListResourceTemplatesRequestSchema, async (args) => { return getCurrentClient().listResourceTemplates(args.params); }); server.setRequestHandler(ReadResourceRequestSchema, async (args) => { return getCurrentClient().readResource(args.params); }); if (serverCapabilities?.resources.subscribe) { server.setNotificationHandler(ResourceUpdatedNotificationSchema, async (args) => { return getCurrentClient().notification(args); }); server.setRequestHandler(SubscribeRequestSchema, async (args) => { return getCurrentClient().subscribeResource(args.params); }); server.setRequestHandler(UnsubscribeRequestSchema, async (args) => { return getCurrentClient().unsubscribeResource(args.params); }); } } if (serverCapabilities?.tools) { server.setRequestHandler(CallToolRequestSchema, async (args) => { return getCurrentClient().callTool(args.params); }); server.setRequestHandler(ListToolsRequestSchema, async (args) => { return getCurrentClient().listTools(args.params); }); } server.setRequestHandler(CompleteRequestSchema, async (args) => { return getCurrentClient().complete(args.params); }); }; //# sourceMappingURL=proxy-server.js.map