mcpField
✨
✨ TPC Server ✨

✨ TPC Server ✨

Local
github.com/suttonwilliamdAI & Agents1Updated 1d ago

About ✨ TPC Server ✨

TPC Server is a Node.js service for AI-human collaboration around thoughts and plans, with SQLite persistence, a REST API, and a web UI. It supports coding agents with searchable, tagged plans and thoughts, plus context aggregation.

Key features

  1. 01Store plans and thoughts in SQLite
  2. 02Create and update plans and thoughts
  3. 03Search and filter by type and tags
  4. 04Aggregate data through context endpoints
  5. 05Markdown plan descriptions
  6. 06REST API and web UI

Use cases

  1. 01Maintain plans alongside AI coding work
  2. 02Record and search thoughts by tags
  3. 03Share reviewed context with an agent

MCP support

The stdio MCP server exposes tools for listing, reading, creating, and updating plans and thoughts, along with search and context retrieval. It also provides the `tpc://plans`, `tpc://thoughts`, and `tpc://context` resources.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

TPC Server

Verified on MseeP

A Node.js/Express API for AI-human collaboration, starting with JSON file storage for thoughts and plans.

Setup and Usage
  1. Install dependencies: npm install
  2. Start the server: node server.js
  3. The server runs on http://localhost:3001

Changelog

See CHANGELOG.md for detailed release notes.

Testing

Run npm test (or npm run test:unit) to execute Jest API/integration tests. Run npm run test:e2e for Playwright UI tests. Run npm run smoke:mcp for deterministic MCP plan/thought lifecycle smoke validation.

Production Security

/tpc.db download is disabled in production by default. To explicitly allow it, set EXPOSE_TPC_DB=true.

Operational Endpoints
  • GET /health returns basic liveness info.
  • GET /ready returns readiness info and DB path.
Data Contract (REST + MCP)
  • IDs: integer autoincrement IDs from SQLite for plans/thoughts.
  • Timestamps:
    • thoughts.timestamp, plans.timestamp = ISO8601 string.
    • plans.created_at, plans.last_modified_at = epoch milliseconds.
  • Tags: JSON-encoded string arrays in DB columns.
Project Structure
  • server.js: Main Express server with modular structure (db/, routes/, middleware/).
  • mcp-server.js: MCP server for AI clients (stdio transport). Run with npm run mcp.
  • data/tpc.db: SQLite database for persistent storage of thoughts and plans.
  • tests/: Test files (Jest unit tests, MCP tests).
  • public/: Static single-page UI.
Usage Examples
REST API
  • Retrieve all thoughts: curl http://localhost:3001/thoughts
  • Retrieve all plans: curl http://localhost:3001/plans
  • Create a thought: curl -X POST http://localhost:3001/thoughts -H "Content-Type: application/json" -d '{"content": "My thought"}'
  • Create a plan: curl -X POST http://localhost:3001/plans -H "Content-Type: application/json" -d '{"title": "My Plan", "description": "Plan details"}'
  • Update plan status: curl -X PATCH http://localhost:3001/plans/1 -H "Content-Type: application/json" -d '{"status": "in_progress"}'
  • Search across plans/thoughts: curl "http://localhost:3001/search?q=AI&type=plans&tags=urgent&limit=5"
  • Add tags to a plan: curl -X PATCH http://localhost:3001/plans/1/tags -H "Content-Type: application/json" -d '{"tag": "ai"}' (appends) or {"tags": ["ai", "urgent"]} (replaces)
  • Filter plans by tags: curl "http://localhost:3001/plans?tags=ai,urgent"
  • View UI: Visit http://localhost:3001/index.html after starting the server.
MCP Server
  • Start MCP server: npm run mcp
  • Connects via stdio — configure your MCP client to use this
  • Available tools: list_plans, get_plan, create_plan, update_plan, list_thoughts, create_thought, search_thoughts, get_context
  • Available resources: tpc://plans, tpc://thoughts, tpc://context

Features

  • MCP Server: Full MCP protocol implementation for AI clients. Run with npm run mcp (stdio transport).
  • Modular server architecture: Organized into db/, routes/, and middleware/ for maintainable API development.
  • SQLite persistence: Single data/tpc.db for thoughts and plans with idempotent schema migrations.
  • Comprehensive testing: Jest for unit tests (endpoints, validation, integrations) and Playwright for E2E UI tests (rendering, interactions).
  • AI collaboration focus: Endpoints like /context aggregate data for agent memory; supports human edits with review flags.
  • Rich text support: Plan descriptions accept and display Markdown formatting (bold, lists, etc.) in the UI using marked.js.
  • Search and organization: Full-text search API (/search?q=) with type/tags/limit filters; UI search input and tag-based filtering/editing.
  • Tagging system: Add/edit/filter tags on plans/thoughts via API/UI for better categorization (e.g., ['ai', 'urgent']).

v2.7 - Search and Organization

Features Implemented
  • Full-text search endpoint (GET /search?q=<query>) with optional ?type=plans|thoughts, ?tags=tag1,tag2, ?limit=N for targeted results.
  • Tagging system: tags column (JSON array) on plans/thoughts tables; manage via POST/PUT/PATCH /plans/:id/tags (and for thoughts).
  • Tag filtering: ?tags=ai,urgent (AND logic) on list endpoints (/plans, /thoughts, /search).
  • Enhanced /context with ?search=<query> to filter aggregated data.
  • UI: Global search input, tag editing in details, tag filtering dropdowns in lists.
Usage
  • API search: curl "http://localhost:3001/search?q=collaboration&type=plans&tags=ai"
  • Tag a plan: curl -X PATCH http://localhost:3001/plans/1/tags -H "Content-Type: application/json" -d '{"tags": ["ai", "urgent"]}' (replace) or {"tag": "new"} (append).
  • Filter by tags: curl "http://localhost:3001/plans?tags=ai,urgent"
  • UI: Enter query in search box; click tags to edit/filter in plan/thought views.
Notable Changes
  • Schema addition: tags TEXT column (default '[]') to plans/thoughts tables; backward compatible migration with backfill.
  • New route: /search for unified querying.
  • Builds on v2.6 Markdown support and modular structure.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.