lexicon_compare_topic
Ask comparison questions across vendors, markets, or features to receive topic-specific competitive intelligence.
Instructions
Topic-specific competitive intelligence. Ask any comparison question across vendors, markets, or features.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | The comparison topic or question | |
| industry | No | Industry context |
Implementation Reference
- index.js:36-46 (schema)Tool definition and input schema for lexicon_compare_topic, including the 'topic' and 'industry' properties, with 'topic' required.
{ name: "lexicon_compare_topic", description: "Topic-specific competitive intelligence. Ask any comparison question across vendors, markets, or features.", inputSchema: { type: "object", properties: { topic: { type: "string", description: "The comparison topic or question" }, industry: { type: "string", description: "Industry context" }, }, required: ["topic"], }, - index.js:88-88 (registration)Maps the tool name 'lexicon_compare_topic' to the remote RPC method 'lexicon.compare.topic' in the TOOL_MAP.
lexicon_compare_topic: "lexicon.compare.topic", - index.js:101-128 (handler)Generic CallToolRequestSchema handler that looks up the tool name in TOOL_MAP and forwards the request via HTTP POST to the remote MCP endpoint at BASE_URL/mcp/v1 with the mapped remote method name.
server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; const remoteTool = TOOL_MAP[name]; if (!remoteTool) { return { content: [{ type: "text", text: `Unknown tool: ${name}` }], isError: true }; } const headers = { "Content-Type": "application/json" }; if (API_KEY) headers["X-API-Key"] = API_KEY; const response = await fetch(`${BASE_URL}/mcp/v1`, { method: "POST", headers, body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/call", params: { name: remoteTool, arguments: args }, }), }); const data = await response.json(); if (data.result) return data.result; return { content: [{ type: "text", text: JSON.stringify(data.error || data) }], isError: true, }; });