LODA API MCP Server
Official# LODA MCP Server
A Model Context Protocol (MCP) server for the LODA Language API, providing seamless access to the LODA language and integer sequences from the On-Line Encyclopedia of Integer Sequences® (OEIS®).
## Available Tools
| Tool | Description | Primary Use Case |
|------|-------------|------------------|
| `get_program` | Get details about a LODA program by ID | Analyze program implementations |
| `search_programs` | Search for LODA programs | Find programs by keyword or ID |
| `eval_program` | Evaluate a LODA program | Test and validate program correctness |
| `submit_program` | Submit a new LODA program | Contribute new implementations |
| `get_sequence` | Get details about an integer sequence by ID | Research mathematical sequences |
| `search_sequences` | Search for integer sequences | Find sequences by keyword or ID |
| `get_stats` | View LODA project summary statistics | Understand project scope and growth |
| `get_keywords` | List all keywords and their descriptions | Explore available keywords |
| `get_submitters` | List all submitters and their number of programs | See top contributors |
## Quick Start
### Prerequisites
- **Node.js** 18.0.0 or higher
- **npm** 8.0.0 or higher
### Installation
1. **Install dependencies**:
```bash
npm install
```
2. **Build the server**:
```bash
npm run build
```
3. **Test the installation**:
```bash
npm run test-connection # Test API connectivity
npm start # Start the server locally
```
4. **Run in HTTP server mode**:
```bash
npm start -- -p 8080
```
### Development Workflow
```bash
# Development with auto-rebuild
npm run dev
# Type checking
npm run type-check
# Clean build
npm run clean && npm run build
```
## Configuration
### Claude Desktop Integration
Add to your Claude Desktop configuration file:
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
```json
{
"mcpServers": {
"loda-api": {
"command": "node",
"args": ["/absolute/path/to/your/loda-mcp/build/index.js"],
"env": {
"LODA_API_BASE_URL": "https://api.loda-lang.org/v2"
}
}
}
}
```
### Environment Variables
| Variable | Description | Default |
|----------|-------------|---------|
| `LODA_API_BASE_URL` | LODA API endpoint override | `https://api.loda-lang.org/v2` |
TDQS
Scored across 8 tools
Every tool has a clearly distinct purpose with no ambiguity. For example, eval_program evaluates programs, get_program and get_sequence retrieve specific resources, search_programs and search_sequences perform searches, and submit_program handles submissions. The descriptions clearly differentiate between programs and sequences, preventing misselection.
All tool names follow a consistent verb_noun pattern using snake_case, such as eval_program, get_program, search_sequences, and submit_program. This predictability makes it easy for agents to understand and use the tool set without confusion from mixed conventions.
With 8 tools, the server is well-scoped for managing LODA programs and sequences. Each tool earns its place by covering distinct operations like evaluation, retrieval, searching, submission, and statistics, without being overly sparse or bloated for the domain.
The tool set provides strong coverage for core workflows, including CRUD-like operations (e.g., get, search, submit) and evaluation. A minor gap is the lack of update or delete tools for programs or sequences, but agents can still work effectively with the available tools for most tasks in the LODA domain.