Anthropic API Server (TypeScript)
@ptitiwat2543
Overview
What is Anthropic API Server (TypeScript)?
Anthropic API Server (TypeScript) is a TypeScript-based MCP server that provides a secure interface for connecting to Anthropic’s Claude API. It gives developers a ready‑to‑use backend with high test coverage, streaming support, function calling, and a clean REST API.
How to use Anthropic API Server (TypeScript)?
Clone the repository, install dependencies (npm install), copy .env.example to .env, and set your ANTHROPIC_API_KEY. Run in development with npm run dev, build and start for production with npm run build then npm start, or invoke directly with npx mcp-p-anthropic-api-server. Use the exposed endpoints (GET /api/health, POST /api/messages, etc.) to interact with Claude.
Key features of Anthropic API Server (TypeScript)
- Connects to Anthropic API using the official SDK
- Supports streaming responses for real‑time output
- Enables function calling / tool usage by Claude
- Validates input with Zod schemas
- Provides a built‑in logging system
- Can be run instantly via
npx
Use cases of Anthropic API Server (TypeScript)
- Build AI‑powered chatbots and assistants using Claude
- Create custom tools that Claude can invoke through the
/api/tools/executeendpoint - Integrate Claude’s streaming completions into web or desktop applications
- Use with Claude Desktop by pointing to the server in
claude_desktop_config.json
FAQ from Anthropic API Server (TypeScript)
Why can’t I connect to the Anthropic API?
Check that your ANTHROPIC_API_KEY in the .env file is correct, verify your internet connection, and try the direct API example at examples/direct-anthropic-api.js.
I get “TypeError: app.address is not a function” when running tests.
This occurs with supertest when the app object isn’t a valid Express application. Use direct mock tests instead (see api-coverage-fixed.test.ts) or intercept route handlers directly.
How do I add a new tool?
Edit src/services/tools.ts and call registerTool() with the tool’s schema and an async handler. An example for a getWeather tool is provided in the README.
What runtime does the server require?
It requires Node.js and npm. TypeScript compilation is handled by the included tsconfig.json.
How do I run the test suite?
Use npm test for all tests, npm run test:validation for schema validation tests, npm run test:integration for integration tests, or npm run test:coverage for a coverage report.