@noggn/mcp
v0.2.0
Published
MCP server for the Checklist-as-a-Service API — lets agents act for an org over the full API surface (token-tiered tools)
Readme
@noggn/mcp
Local stdio MCP server for the Checklist API, so an agent can act on the API for a single
organization. Generated at startup from the bundled OpenAPI spec and tiered for token
efficiency: the run-time hot path (assignment loop + checklist/template reads + create/import)
stays as ~12 typed tools, and every other operation is reachable through one generic
checklist_request tool — full API parity retained (all 54 ops callable) at ~⅓ the
every-session token cost. The checklist://openapi resource serves exact schemas on demand. The
org's secret key (CHECKLIST_API_KEY) scopes every action to that account; calls dispatch through
@noggn/checklists, inheriting auth, version pinning, auto-idempotency, and retries.
Run it
# published:
CHECKLIST_API_KEY=sk_… npx @noggn/mcp
# workspace dev (against local API):
CHECKLIST_API_KEY=sk_… CHECKLIST_BASE_URL=http://127.0.0.1:8787 pnpm startEnvironment
| Var | Required | Notes |
|---|---|---|
| CHECKLIST_API_KEY | yes | the sk_… secret; scopes all actions to that account |
| CHECKLIST_BASE_URL | no | API base URL (defaults to local dev) |
| CHECKLIST_VERSION | no | pin the Checklist-Version |
| CHECKLIST_OPENAPI | no | override the bundled spec path |
The spec is bundled into dist/openapi.json at build; dev reads the sibling
packages/api/openapi.json.
MCP client config (Claude Desktop / Cursor)
{
"mcpServers": {
"checklist": {
"command": "npx",
"args": ["@noggn/mcp"],
"env": { "CHECKLIST_API_KEY": "sk_…" }
}
}
}Programmatic (AI SDK v6 MCP client):
import { experimental_createMCPClient as createMCPClient } from 'ai'
const mcp = await createMCPClient({
transport: {
type: 'stdio',
command: 'npx',
args: ['@noggn/mcp'],
env: { CHECKLIST_API_KEY: process.env.CHECKLIST_API_KEY! },
},
})
const tools = await mcp.tools()See AGENTS.md for how tools are generated and the transport-agnostic server design.
