Skip to main content
Glama
loda-lang

LODA API MCP Server

Official
by loda-lang
README.md
# 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

A3.5/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues