TAC MCP local beta

Give approved AI clients read-only access to your voice memory.

Connect TAC recordings, transcripts, and collections to Claude Desktop, OpenClaw, Codex, or another local MCP-compatible client with a session-scoped stdio server.

Remote OAuth MCP is not enabled yet. This beta stays local, read-only, and requires operator-approved TAC session headers.

Talk and Comment voice feedback interface preview
$ node ./packages/mcp-server/dist/index.js --doctor --json
{
  "ok": true,
  "env": {
    "ok": true
  },
  "protocol": {
    "ok": true,
    "apiRequests": 0
  }
}

Local setup

Start with a redacted readiness check.

The v0 server uses the same signed-in TAC session headers the app already understands. The helper commands confirm readiness without printing token, client, email, or secret values.

1. Configure

Set the local session variables

Use values from an approved signed-in TAC profile only. Do not paste school, student, or private user data into a third-party client without approval.

export TAC_MCP_BASE_URL="https://talkandcomment.com"
export TAC_MCP_USER_HASH="your-user-hash"
export TAC_MCP_ACCESS_TOKEN="your-devise-token"
export TAC_MCP_CLIENT="your-devise-client"
export TAC_MCP_UID="[email protected]"
2. Verify

Check readiness before connecting

Use the doctor check for setup automation, dashboards, and CoS/RasBaraka checks. It verifies env readiness and local MCP protocol shape without calling the TAC API.

pnpm --filter @tac/mcp-server build
node ./packages/mcp-server/dist/index.js --doctor
node ./packages/mcp-server/dist/index.js --doctor --json
node ./packages/mcp-server/dist/index.js --print-client-config --command node --arg "$(pwd)/packages/mcp-server/dist/index.js"

What the beta exposes

Useful by default, constrained by design.

search_recordings

Search recordings

Find matching voice notes in the signed-in user library metadata.

get_recording

Get recording metadata

Fetch one owned recording without crossing users or admin scopes.

get_transcript

Read transcript revisions

Return transcript history and the latest revision text when available.

list_collections

List collections

Expose the signed-in user collection list to MCP clients.

get_collection_items

Read collection items

Scan capped library pages for recordings in a collection.

tac://collections

Discover resources

Expose tac://collections and tac://recordings resource URIs for clients that prefer MCP resources.

Prompts

Start with teacher-safe, read-only questions.

These examples assume the MCP client is approved for the TAC account being exposed. Keep student names, private notes, and bulk exports out of unapproved clients.

Summarize my TAC recordings from this week and group them by class theme.

Summarize my TAC recordings from this week and group them by class theme.

Find voice notes where I mentioned revision, thesis, or evidence.

Find voice notes where I mentioned revision, thesis, or evidence.

Turn my last five recordings into a concise lesson-plan reflection.

Turn my last five recordings into a concise lesson-plan reflection.

List the collections that look like active teaching workflows.

List the collections that look like active teaching workflows.

Compare my recent feedback patterns and suggest one habit to improve.

Compare my recent feedback patterns and suggest one habit to improve.

Draft a parent-update outline from approved, non-sensitive voice notes.

Draft a parent-update outline from approved, non-sensitive voice notes.
Now

Local stdio beta

  • Read-only tools and resources for the signed-in user's own TAC data.
  • Redacted setup diagnostics for CoS, OpenClaw, and local client bootstrap.
  • CI-gated package, selftest, type-check, and distribution smoke coverage.
Next

Remote MCP and API hardening

  • OAuth or app-token auth before broad user-facing rollout.
  • Governance-first access decisions for district and student-linked workflows.
  • Public API and CLI surfaces after the safety and auth model is settled.

Building against TAC voice memory?

Use the repo guide for exact package commands, client snippets, known limits, and verification checks.