Coda MCP Server
# Coda MCP Server (Koyeb + LangSmith)
This repo runs a Coda MCP server with:
- Streamable HTTP endpoint: `/mcp` (recommended)
- Legacy SSE endpoint: `/sse`
## Quick Start (Koyeb First)
### 1. Fork or use this repo on GitHub
Use this repository in your own GitHub account (for example `RunLittleTurtle/mcp-coda`).
### 2. Create a Koyeb account and connect GitHub
In Koyeb:
1. Create a new **Web service**
2. Select your GitHub repo and `main` branch
3. Keep **Buildpack** as builder
4. Choose **Free / CPU Eco** instance
### 3. Set environment variables
Add these variables in Koyeb:
- `API_KEY` = your Coda API key
- `PORT` = `3000`

### 4. Configure port
In Koyeb Ports:
- Port: `3000`
- Protocol: `HTTP`
- Public HTTPS access: enabled

### 5. Deploy
Click **Save and deploy**.
After deploy, your public URL will look like:
- `https://your-service-name.koyeb.app`
Health check:
- `https://your-service-name.koyeb.app/health`
MCP endpoint:
- `https://your-service-name.koyeb.app/mcp`
## LangSmith Agent Builder Setup
Add an MCP server with:
- **Name**: `mcp-coda` (or your preferred name)
- **URL**: `https://your-service-name.koyeb.app/mcp`
- **Authentication**: `Static Headers`
- **Headers**: none

Important:
- Use `/mcp` (not `/` and not `/sse` in Agent Builder)
- If tools do not appear after a redeploy, wait a few seconds and reload Agent Builder
## Local (minimal)
```bash
pnpm install
pnpm build
echo "API_KEY=your-coda-key" > .env
PORT=3000 pnpm start:http
```
Then test:
- `http://localhost:3000/health`
- `http://localhost:3000/mcp`
## Environment variables
- `API_KEY` or `CODA_API_KEY` (required)
- `PORT` (optional, default `3000`)
## Credits
- Original project: [dustinrgood/coda-mcp](https://github.com/dustinrgood/coda-mcp)
- Early fork lineage: [orellazri/coda-mcp](https://github.com/orellazri/coda-mcp)
## License
MIT
TDQS
Scored across 15 tools
Every tool has a clearly distinct purpose targeting specific resources and actions in Coda, such as documents, tables, rows, columns, controls, formulas, pages, and user info. There is no overlap or ambiguity between tools like coda_create_doc and coda_create_row, or coda_list_tables and coda_get_table, making misselection unlikely.
All tool names follow a consistent 'coda_verb_noun' pattern with snake_case throughout, such as coda_create_doc, coda_list_rows, and coda_update_row. This predictability aids agent understanding and tool selection without any deviations in style.
With 15 tools, the server is well-scoped for managing Coda documents, tables, rows, and related elements. Each tool earns its place by covering essential operations like CRUD for documents and rows, listing various components, and user authentication, without being overly sparse or bloated.
The tool set provides comprehensive coverage for core Coda workflows, including document and row lifecycle management, listing of tables, columns, pages, formulas, and controls, and user verification. Minor gaps exist, such as no tools for updating documents or deleting rows, but agents can work around these with available operations.