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
JavaScript
/**
* 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
;