Task Board MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Task Board MCP ServerWhat is left to do?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ModelContextProtocol
A task-board MCP server that exercises all three server primitives — tools, resources, and prompts — plus a host that drives it with a cheap model, and a protocol-level test suite.
Part of ai_engineering.
THEORY.md covers the concepts: what MCP actually standardises and what it does
not, why the tool/resource/prompt split is about who decides rather than what
the data is, the stdio rule that breaks more servers than anything else, why
tool errors must not be thrown, annotations as host hints, and how to test a
server so its failures are visible.
Getting started
npm install
npm run seed # writes a 5-task starting board
npm test # 27 protocol-level assertions, no API key neededFor the LLM host, copy .env.example to .env and add an OpenAI key:
npm run client -- "What is left to do?"
npm run client -- "Check whether anything about CI is tracked, and mark it done."Defaults to gpt-4o-mini. Tool calling does not need a frontier model — set
MODEL in .env to change it.
Related MCP server: Cerase Tasks MCP
What's here
File | Role |
| The MCP server — 3 tools, 2 resources, 2 prompts, over stdio |
| Board logic, pure and testable, knows nothing about MCP |
| A minimal host: MCP client + model + tool loop |
| Protocol test — spawns the real server over the real transport |
| Writes a starting board |
The three primitives, as implemented here
The split is about who decides, not what the data is:
Primitive | Decided by | Here |
Resources | the application |
|
Tools | the model |
|
Prompts | the user |
|
client.js shows the distinction concretely: it reads task://board itself
before the model runs, and lets the model choose when to call search_tasks.
Nothing stops you exposing the board as a tool — but then the model decides
what context to load, which is the thing resources exist to avoid.
Testing
1. MCP Inspector — for looking
The official interactive client. Nothing to install:
npm run inspectThat runs npx @modelcontextprotocol/inspector node server.js, which opens a
browser UI with a pre-filled session token. In it you can:
Tools → list, inspect schemas and annotations, call with arbitrary args
Resources → browse
task://board, and see the template expand to real ids. Typetask://item/and autocompletion offers ids from the live board.Prompts → render
standupwith afocusargument and read the message it producesErrors / notifications panes → everything the server writes to stderr
The Inspector also has a CLI mode, which is what to reach for in a script:
npx @modelcontextprotocol/inspector --cli node server.js --method tools/list
npx @modelcontextprotocol/inspector --cli node server.js \
--method tools/call --tool-name search_tasks --tool-arg query=docs2. npm test — for knowing
The Inspector shows you one call at a time and depends on you noticing. The test suite asserts 27 properties in about a second, with no API key and no model:
DISCOVERY every tool, resource, template and prompt is registered
SCHEMAS + ANNOTATIONS read-only, destructive, idempotent flags are correct
HAPPY PATH a write shows up in the resource
STRUCTURED OUTPUT structuredContent validates against outputSchema
THE EMPTY CASE a search with no results explains itself
ERROR HANDLING bad input returns isError rather than throwing
DISCOVERABILITY template completion and prompt arguments workIt spawns server.js as a subprocess over stdio using the SDK's own Client,
so it exercises the same transport and schemas the Inspector and Claude Code do.
It stashes any real data/tasks.json first and restores it after.
Why assert annotations. A tool marked readOnlyHint when it writes will
skip the confirmation prompt a host would otherwise show. Nothing errors. The
only place that mistake is visible is a test that reads the flag back.
Using it from Claude Code
claude mcp add task-board -- node /absolute/path/to/ModelContextProtocol/server.jsThen /mcp lists the server, its tools appear to the model, and /standup
shows up as a slash command.
The one rule that breaks servers
On stdio, stdout is the protocol. Every byte must be a JSON-RPC message. A
single console.log in a handler corrupts the stream, and the client
disconnects with a parse error that names no line of your code. All diagnostics
go to console.error. THEORY.md §6 has the full argument.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA task management MCP server that provides tools to create, list, complete, and delete tasks using pluggable storage backends. It enables users to interact with their task lists through natural language using MCP-compatible clients like Claude Desktop.Last updated

Cerase Tasks MCPofficial
Alicense-qualityCmaintenanceA tasks and projects board MCP server for agents, providing create, list, and status update tools with agent-scoped access via control-plane proxy.Last updatedMIT- Flicense-qualityCmaintenanceA task manager MCP server that demonstrates all three MCP primitives (tools, resources, prompts). Enables users to manage tasks, read task summaries and details, and run structured planning/review prompts through natural language.Last updated
- FlicenseCqualityCmaintenanceA simple MCP server demonstrating resources, tools, and prompts using a local task list. It enables reading, creating, and analyzing tasks through MCP.Last updated1
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
An MCP server for deep research or task groups
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexisinwork/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server