mcp-server-coordinate
README.md
# mcp-server-coordinate
An MCP server that extracts structured commitments from unstructured text meeting transcripts, email threads, Slack logs, or SMS chains.
Given messy human communication, it tells you: **who promised what, by when, and under what conditions.**
```
"Sarah said she'd loop in the design team once the spec is finalized,
and Tom committed to shipping the API endpoint by end of sprint."
```
↓
```
Commitment 1
Person: Sarah
Committed: Loop in the design team
Deadline: not stated
Conditions: once the spec is finalized
Confidence: high
Quote: "she'd loop in the design team once the spec is finalized"
Commitment 2
Person: Tom
Committed: Ship the API endpoint
Deadline: end of sprint
Conditions: none
Confidence: high
Quote: "committed to shipping the API endpoint by end of sprint"
```
## Installation
```bash
npm install -g mcp-server-coordinate
```
Or run without installing:
```bash
npx mcp-server-coordinate --file transcript.txt
```
## Requirements
An Anthropic API key:
```bash
export ANTHROPIC_API_KEY=sk-ant-...
```
## Usage
### As an MCP server (Claude Desktop / Cursor / etc.)
Add to your MCP config:
```json
{
"mcpServers": {
"coordinate": {
"command": "npx",
"args": ["-y", "mcp-server-coordinate"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}
}
}
```
Then in Claude, use the `extract_commitments` tool:
> *Extract commitments from this transcript: [paste text]*
### As a CLI
```bash
# Inline text
mcp-server-coordinate "Alice will send the proposal by Thursday."
# From a file
mcp-server-coordinate --file meeting.txt
# Pipe from stdin
cat thread.txt | mcp-server-coordinate
```
## What gets extracted
Each commitment includes:
| Field | Description |
|---|---|
| `person` | Who made the commitment |
| `commitment` | What they agreed to do |
| `deadline` | When (verbatim from source, e.g. "Friday", "end of Q2") |
| `conditions` | Any stated conditions ("if budget is approved") |
| `confidence` | `high` / `medium` / `low` |
| `source_quote` | The shortest verbatim excerpt proving the commitment |
The response also includes `source_type` (transcript / email / sms / thread / unknown) and estimated `participant_count`.
## How it works
Uses `claude-haiku-4-5` with tool use / structured output. The model is prompted to extract commitments conservatively — it distinguishes between strong commitments ("I'll send it by Friday") and weak ones ("I'll look into it"), and surfaces that distinction in the `confidence` field.
## MCP Tool
**`extract_commitments`**
| Parameter | Type | Description |
|---|---|---|
| `text` | `string` | The unstructured text to analyze |
## License
MIT
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues