@clervo/mcp
Advanced tools
+21
| MIT License | ||
| Copyright (c) 2026 Clervo | ||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
+27
-4
@@ -1,2 +0,2 @@ | ||
| import { type ClervoSearchRequest } from '@clervo/sdk'; | ||
| import { type ClervoAiRequest, type ClervoSearchRequest } from '@clervo/sdk'; | ||
| import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; | ||
@@ -9,4 +9,10 @@ export declare const CLERVO_MCP_TOOLS: readonly [Readonly<{ | ||
| operationId: "search.answer"; | ||
| }>, Readonly<{ | ||
| name: "models_list"; | ||
| operationId: "ai.catalog"; | ||
| }>, Readonly<{ | ||
| name: "ai_execute"; | ||
| operationId: "ai.execute"; | ||
| }>]; | ||
| export interface ClervoSearchClient { | ||
| export interface ClervoMcpClient { | ||
| search: { | ||
@@ -22,2 +28,10 @@ web(request: ClervoSearchRequest, options?: { | ||
| }; | ||
| models: { | ||
| list(): Promise<unknown>; | ||
| }; | ||
| ai: { | ||
| execute(request: ClervoAiRequest, options?: { | ||
| idempotencyKey?: string; | ||
| }): Promise<unknown>; | ||
| }; | ||
| } | ||
@@ -32,2 +46,9 @@ export interface ToolInput { | ||
| } | ||
| export interface AiToolInput { | ||
| model: string; | ||
| input: Record<string, unknown>; | ||
| maximumOutputTokens?: number | undefined; | ||
| maximumReasoningTokens?: number | undefined; | ||
| idempotencyKey?: string | undefined; | ||
| } | ||
| export interface ToolResult { | ||
@@ -41,9 +62,11 @@ [key: string]: unknown; | ||
| } | ||
| export declare function createToolHandlers(client: ClervoSearchClient): { | ||
| export declare function createToolHandlers(client: ClervoMcpClient): { | ||
| search_web(input: ToolInput): Promise<ToolResult>; | ||
| search_answer(input: ToolInput): Promise<ToolResult>; | ||
| models_list(): Promise<ToolResult>; | ||
| ai_execute(input: AiToolInput): Promise<ToolResult>; | ||
| }; | ||
| export declare function createClervoMcpServer(options?: { | ||
| client?: ClervoSearchClient; | ||
| client?: ClervoMcpClient; | ||
| baseUrl?: string; | ||
| }): McpServer; |
+53
-14
@@ -7,2 +7,4 @@ import { ClervoClient, ClervoPaymentRequiredError, ClervoProblemError, recoveryActionFor, } from '@clervo/sdk'; | ||
| Object.freeze({ name: 'search_answer', operationId: 'search.answer' }), | ||
| Object.freeze({ name: 'models_list', operationId: 'ai.catalog' }), | ||
| Object.freeze({ name: 'ai_execute', operationId: 'ai.execute' }), | ||
| ]); | ||
@@ -15,2 +17,3 @@ function text(value) { | ||
| if (error instanceof ClervoPaymentRequiredError) { | ||
| const payable = error.problem.payable === true || Array.isArray(error.problem.accepts); | ||
| return { | ||
@@ -22,3 +25,3 @@ content: [{ | ||
| status: 402, | ||
| payable: false, | ||
| payable, | ||
| problem: error.problem, | ||
@@ -75,2 +78,23 @@ ...(recovery === undefined ? {} : { recovery }), | ||
| search_answer: (input) => execute('search.answer', input), | ||
| models_list: async () => { | ||
| try { | ||
| return text(await client.models.list()); | ||
| } | ||
| catch (error) { | ||
| return failure(error); | ||
| } | ||
| }, | ||
| ai_execute: async (input) => { | ||
| try { | ||
| return text(await client.ai.execute({ | ||
| model: input.model, | ||
| input: input.input, | ||
| ...(input.maximumOutputTokens === undefined ? {} : { maximumOutputTokens: input.maximumOutputTokens }), | ||
| ...(input.maximumReasoningTokens === undefined ? {} : { maximumReasoningTokens: input.maximumReasoningTokens }), | ||
| }, input.idempotencyKey === undefined ? {} : { idempotencyKey: input.idempotencyKey })); | ||
| } | ||
| catch (error) { | ||
| return failure(error); | ||
| } | ||
| }, | ||
| }); | ||
@@ -84,27 +108,42 @@ } | ||
| idempotencyKey: z.string().min(8).max(128).optional(), | ||
| mode: z.enum(['preview', 'challenge']).default('preview').describe('Preview executes the local sample route. Challenge returns a non-payable 402 and never pays.'), | ||
| mode: z.enum(['preview', 'challenge']).default('preview').describe('Preview calls the live free route. Challenge obtains the exact paid 402 but never signs or pays.'), | ||
| }; | ||
| const aiInputSchema = { | ||
| model: z.string().trim().min(1).max(160).describe('Stable canonical Clervo model ID or a published alias.'), | ||
| input: z.record(z.string(), z.unknown()).describe('Normalized AI input object; its kind must match the selected model capability.'), | ||
| maximumOutputTokens: z.number().int().min(1).max(65_536).optional(), | ||
| maximumReasoningTokens: z.number().int().min(0).max(65_536).optional(), | ||
| idempotencyKey: z.string().min(8).max(128).optional(), | ||
| }; | ||
| export function createClervoMcpServer(options = {}) { | ||
| const baseUrl = options.baseUrl ?? process.env.CLERVO_BASE_URL; | ||
| const client = options.client ?? (baseUrl === undefined ? undefined : new ClervoClient({ baseUrl })); | ||
| const server = new McpServer({ name: 'clervo', version: '0.3.0' }); | ||
| const handlers = client === undefined ? undefined : createToolHandlers(client); | ||
| const baseUrl = options.baseUrl ?? process.env.CLERVO_BASE_URL ?? 'https://api.clervo.dev'; | ||
| const client = options.client ?? new ClervoClient({ baseUrl }); | ||
| const server = new McpServer({ name: 'clervo', version: '0.4.0' }); | ||
| const handlers = createToolHandlers(client); | ||
| server.registerTool('search_web', { | ||
| title: 'Clervo web evidence preview', | ||
| description: 'Runs the repository-local search.web preview. Public availability and payment are not claimed.', | ||
| description: 'Runs the live bounded free Search route or obtains its exact paid challenge without signing.', | ||
| inputSchema, | ||
| annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, | ||
| }, async (input) => handlers === undefined | ||
| ? { content: [{ type: 'text', text: JSON.stringify({ error: 'clervo_base_url_required' }) }], isError: true } | ||
| : handlers.search_web(input)); | ||
| }, async (input) => handlers.search_web(input)); | ||
| server.registerTool('search_answer', { | ||
| title: 'Clervo cited answer preview', | ||
| description: 'Runs the repository-local search.answer preview with synthesis forced on. Public availability and payment are not claimed.', | ||
| description: 'Runs cited synthesis with the product identity fixed by the tool contract; the MCP server never signs or pays.', | ||
| inputSchema, | ||
| annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, | ||
| }, async (input) => handlers === undefined | ||
| ? { content: [{ type: 'text', text: JSON.stringify({ error: 'clervo_base_url_required' }) }], isError: true } | ||
| : handlers.search_answer(input)); | ||
| }, async (input) => handlers.search_answer(input)); | ||
| server.registerTool('models_list', { | ||
| title: 'List the live Clervo AI catalog', | ||
| description: 'Returns stable provider-neutral model IDs, capabilities, health, availability, free/paid state, pricing, and commerce metadata.', | ||
| inputSchema: {}, | ||
| annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true }, | ||
| }, async () => handlers.models_list()); | ||
| server.registerTool('ai_execute', { | ||
| title: 'Execute a normalized Clervo AI request', | ||
| description: 'Executes a free model or returns the exact paid challenge without signing or paying. The tool never creates a wallet or authorizes payment.', | ||
| inputSchema: aiInputSchema, | ||
| annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: true }, | ||
| }, async (input) => handlers.ai_execute(input)); | ||
| return server; | ||
| } | ||
| //# sourceMappingURL=server.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,GAGlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IAChE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;IACtE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;IACjE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC;CACxD,CAAC,CAAC;AAkCZ,SAAS,IAAI,CAAC,KAAc;IAC1B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,kBAAkB;wBACzB,MAAM,EAAE,GAAG;wBACX,OAAO;wBACP,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;qBAChD,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;QACxC,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,gBAAgB;wBACvB,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;qBAChD,CAAC;iBACH,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,CAAC;QAClF,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAuB;IAMxD,MAAM,OAAO,GAAG,KAAK,EAAE,SAAyC,EAAE,KAAgB,EAAuB,EAAE;QACzG,IAAI,CAAC;YACH,MAAM,OAAO,GAAG;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;gBAC3E,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;aAChE,CAAC;YACF,MAAM,OAAO,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvF,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;aAC1D,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,KAAK,YAAY;gBACtC,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;gBAC3C,CAAC,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;QACnD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC;QACzD,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC;gBAAC,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC3F,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1B,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,GAAG,CAAC,KAAK,CAAC,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAAE,CAAC;oBACtG,GAAG,CAAC,KAAK,CAAC,sBAAsB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EAAE,CAAC;iBAChH,EAAE,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;YAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC1E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE;IACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAClD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrD,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,kGAAkG,CAAC;CACvK,CAAC;AACF,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,gFAAgF,CAAC;IACnI,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IACnE,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IACtE,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtD,CAAC;AAEF,MAAM,UAAU,qBAAqB,CAAC,OAAO,GAGzC,EAAE;IACJ,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,wBAAwB,CAAC;IAC3F,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,8FAA8F;QAC3G,WAAW;QACX,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACvG,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C,CAAC;IACF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EAAE,gHAAgH;QAC7H,WAAW;QACX,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACvG,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAC/C,CAAC;IACF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACvG,EACD,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CACnC,CAAC;IACF,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,KAAK,EAAE,wCAAwC;QAC/C,WAAW,EAAE,6IAA6I;QAC1J,WAAW,EAAE,aAAa;QAC1B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACxG,EACD,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAC5C,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"} |
+8
-5
| { | ||
| "name": "@clervo/mcp", | ||
| "version": "0.3.0", | ||
| "description": "Clervo MCP server generated from the frozen two-operation distribution candidate.", | ||
| "license": "UNLICENSED", | ||
| "version": "0.4.0", | ||
| "description": "MCP tools for live Clervo Search and provider-neutral AI.", | ||
| "license": "MIT", | ||
| "type": "module", | ||
| "keywords": [ | ||
| "clervo", | ||
| "ai-agents", | ||
| "agent-infrastructure", | ||
| "mcp", | ||
@@ -27,3 +29,4 @@ "model-context-protocol", | ||
| "dist", | ||
| "README.md" | ||
| "README.md", | ||
| "LICENSE" | ||
| ], | ||
@@ -44,3 +47,3 @@ "bin": { | ||
| "dependencies": { | ||
| "@clervo/sdk": "0.3.0", | ||
| "@clervo/sdk": "0.4.0", | ||
| "@modelcontextprotocol/sdk": "1.30.0", | ||
@@ -47,0 +50,0 @@ "zod": "4.4.3" |
+17
-19
| # `@clervo/mcp` | ||
| Local stdio MCP server for Clervo's frozen distribution candidate. | ||
| Stdio MCP server for the live Clervo API. It exposes four bounded tools: | ||
| It exposes exactly two tools: | ||
| - `search_web` → raw cited Search; | ||
| - `search_answer` → cited synthesis; | ||
| - `models_list` → the authoritative provider-neutral AI catalog; | ||
| - `ai_execute` → normalized free execution or an exact paid challenge. | ||
| - `search_web` → `search.web` | ||
| - `search_answer` → `search.answer` | ||
| Set `CLERVO_BASE_URL` to an explicitly selected Clervo preview endpoint. No | ||
| public deployment is assumed. The tools never sign, pay, retry payment, or | ||
| convert a non-payable `402` challenge into success. | ||
| ```json | ||
@@ -19,6 +15,3 @@ { | ||
| "command": "npx", | ||
| "args": ["-y", "@clervo/mcp"], | ||
| "env": { | ||
| "CLERVO_BASE_URL": "http://127.0.0.1:8080" | ||
| } | ||
| "args": ["-y", "@clervo/mcp"] | ||
| } | ||
@@ -29,8 +22,13 @@ } | ||
| The package writes protocol messages to stdout and operational failures to | ||
| stderr only. | ||
| The default origin is `https://api.clervo.dev`. Set `CLERVO_BASE_URL` only for | ||
| another HTTPS deployment or loopback development. | ||
| Known future payment failures include the same single recovery action as both | ||
| SDKs. The server never performs that action, signs, pays, or retries on the | ||
| agent's behalf. Unknown settlement and payment timeouts remain blocked until | ||
| the original idempotency key is reconciled. | ||
| `models_list` publishes stable IDs, capabilities, health, availability, | ||
| free/paid state, pricing, and commerce metadata. `ai_execute` can run a free | ||
| model. For a paid model it returns the exact `402` challenge as an MCP error; it | ||
| never creates a wallet, signs, pays, or retries a payment on the agent's behalf. | ||
| Use a stable idempotency key for safe recovery. | ||
| The package writes MCP protocol messages to stdout and operational failures to | ||
| stderr only. This client code is MIT licensed; use of the hosted Clervo service | ||
| remains subject to its service terms. |
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Explicitly Unlicensed Item
LicenseSomething was found which is explicitly marked as unlicensed.
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Misc. License Issues
LicenseA package's licensing information has fine-grained problems.
20201
40.53%9
12.5%0
-100%0
-100%100
Infinity%225
38.04%0
-100%33
-5.71%2
100%+ Added
- Removed
Updated