@follow-app/client-sdk
Version:
TypeScript client SDK for Follow RSS Server API
63 lines (53 loc) • 1.52 kB
text/typescript
import { defineModule, defineRoute } from "../../shared/define-module"
import type {
ConnectionParams,
CreateConnectionRequest,
CreateConnectionResponse,
DeleteConnectionResponse,
GetConnectionsResponse,
GetToolsResponse,
RefreshToolsRequest,
RefreshToolsResponse,
UpdateConnectionRequest,
UpdateConnectionResponse,
} from "./types"
/**
* MCP (Model Context Protocol) module definition
* Handles MCP server connections and tool management
*/
export const mcpModule = defineModule({
name: "mcp",
prefix: "/mcp",
routes: {
// Connection management
createConnection: defineRoute<CreateConnectionRequest, CreateConnectionResponse>(
"POST",
"/connections",
),
updateConnection: defineRoute<UpdateConnectionRequest, UpdateConnectionResponse>(
"PUT",
"/connections/{connectionId}",
),
getConnections: defineRoute<never, GetConnectionsResponse>(
"GET",
"/connections",
),
deleteConnection: defineRoute<ConnectionParams, DeleteConnectionResponse>(
"DELETE",
"/connections/{connectionId}",
),
// Tool management
getTools: defineRoute<ConnectionParams, GetToolsResponse>(
"GET",
"/connections/{connectionId}/tools",
),
refreshTools: defineRoute<RefreshToolsRequest, RefreshToolsResponse>(
"POST",
"/tools/refresh",
),
},
})
// Export the API type
export type McpAPI = typeof mcpModule.api
// Re-export types for external consumption
export type * from "./types"