UNPKG

context-optimizer-mcp-server

Version:

Context optimization tools MCP server for AI coding assistants - compatible with GitHub Copilot, Cursor AI, and other MCP-supporting assistants

49 lines 1.85 kB
"use strict"; /** * Anthropic Claude provider implementation */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ClaudeProvider = void 0; const sdk_1 = __importDefault(require("@anthropic-ai/sdk")); const base_1 = require("./base"); class ClaudeProvider extends base_1.BaseLLMProvider { name = 'Anthropic Claude'; defaultModel = 'claude-3-5-sonnet-20241022'; apiKeyUrl = 'https://console.anthropic.com/account/keys'; apiKeyPrefix = 'sk-ant-'; async processRequest(prompt, model, apiKey) { try { if (!apiKey) { return this.createErrorResponse('Claude API key not configured'); } const anthropic = new sdk_1.default({ apiKey: apiKey, }); const message = await anthropic.messages.create({ model: model || this.defaultModel, max_tokens: 4000, temperature: 0.1, messages: [ { role: 'user', content: prompt } ] }); const content = message.content[0]; if (!content || content.type !== 'text') { return this.createErrorResponse('Unexpected response format from Claude'); } return this.createSuccessResponse(content.text); } catch (error) { const errorMessage = error instanceof Error ? error.message : 'Unknown error'; return this.createErrorResponse(`Claude processing failed: ${errorMessage}`); } } } exports.ClaudeProvider = ClaudeProvider; //# sourceMappingURL=claude.js.map