Connect Claude to your meeting transcripts via Model Context Protocol (MCP).
Model Context Protocol (MCP) is Anthropic's standard for connecting AI assistants to external tools and data sources. Keep It Krispy provides an MCP server that gives Claude access to your meeting data.
The MCP server exposes three tools to Claude:
List recent meetings with metadata (title, date, duration, speakers). Filter by date range or speaker.
{
"start_date": "2025-01-01",
"end_date": "2025-01-15",
"speaker": "john",
"limit": 10
}
Semantic search across all meetings. Find content by meaning, not just keywords.
{
"query": "budget concerns",
"limit": 5
}
Fetch full transcript content by S3 key. Returns summary, notes, action items, and full text.
{
"keys": ["meetings/2025/01/14/...json"]
}
Add the MCP server to Claude Desktop by editing the config file:
Open with: open -e ~/Library/Application\ Support/Claude/claude_desktop_config.json
Add this to your config file (replace {account-id} with your AWS account ID):
{
"mcpServers": {
"krisp": {
"command": "node",
"args": ["/Users/YOUR_USERNAME/keep-it-krispy/lambda/mcp-server-ts/dist/stdio-server.cjs"],
"env": {
"AWS_REGION": "us-east-1",
"KRISP_S3_BUCKET": "krisp-transcripts-{account-id}",
"DYNAMODB_TABLE": "krisp-transcripts-index",
"VECTOR_BUCKET": "krisp-vectors-{account-id}",
"VECTOR_INDEX": "transcript-chunks",
"AWS_PROFILE": "default"
}
}
}
}
Quit Claude Desktop completely (Cmd+Q) and reopen it. The krisp server should appear in your MCP servers list.
Check the MCP server logs:
Common issues:
Add the MCP server to Claude Code with a single command:
claude mcp add --transport stdio \
--env AWS_REGION=us-east-1 \
--env KRISP_S3_BUCKET=krisp-transcripts-{account-id} \
--env DYNAMODB_TABLE=krisp-transcripts-index \
--env VECTOR_BUCKET=krisp-vectors-{account-id} \
--env VECTOR_INDEX=transcript-chunks \
--env AWS_PROFILE=default \
--scope user \
krisp -- node ~/keep-it-krispy/lambda/mcp-server-ts/dist/stdio-server.cjs
--scope user - Available in all projects--scope project - Available only in current projectYou should see krisp in the list of servers.
Start a Claude Code session and try:
The Keep It Krispy MCP server works with any MCP-compatible client. It uses the standard stdio transport.
| Property | Value |
|---|---|
| Transport | stdio (stdin/stdout) |
| Command | node |
| Args | ["/path/to/stdio-server.cjs"] |
| Protocol | MCP 2025-06-18 |
| Variable | Description |
|---|---|
AWS_REGION | AWS region (e.g., us-east-1) |
KRISP_S3_BUCKET | S3 bucket for transcripts |
DYNAMODB_TABLE | DynamoDB table name |
VECTOR_BUCKET | S3 bucket for vectors |
VECTOR_INDEX | Vector index name |
AWS_PROFILE | AWS credentials profile (optional) |
Test the MCP server directly from command line:
# List tools
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | \
AWS_PROFILE=default \
AWS_REGION=us-east-1 \
KRISP_S3_BUCKET=krisp-transcripts-123456789012 \
DYNAMODB_TABLE=krisp-transcripts-index \
VECTOR_BUCKET=krisp-vectors-123456789012 \
VECTOR_INDEX=transcript-chunks \
node ~/keep-it-krispy/lambda/mcp-server-ts/dist/stdio-server.cjs
# Call a tool
echo '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"list_transcripts","arguments":{"limit":3}},"id":1}' | \
... (same env vars) ... \
node ~/keep-it-krispy/lambda/mcp-server-ts/dist/stdio-server.cjs
You can also query your meeting data directly using AWS APIs:
aws dynamodb scan \
--table-name krisp-transcripts-index \
--limit 10 \
--projection-expression "meeting_id, title, #d, duration" \
--expression-attribute-names '{"#d": "date"}'
aws s3 cp s3://krisp-transcripts-{account-id}/meetings/2025/01/14/your-meeting.json -
S3 Vectors requires the AWS SDK. See the S3 Vectors documentation for query examples.
The MCP server outputs detailed debug logs to stderr, which Claude Desktop captures in its log files.
[KRISP DEBUG 2025-01-14T15:49:38.036Z] Server module loading: {"AWS_PROFILE":"default"}
[KRISP DEBUG 2025-01-14T15:49:38.039Z] S3 client initialized
[KRISP DEBUG 2025-01-14T15:49:38.040Z] DynamoDB client initialized
[KRISP DEBUG 2025-01-14T15:49:38.040Z] Vectors client initialized
[KRISP DEBUG 2025-01-14T15:49:38.043Z] Server connected and ready
[KRISP DEBUG 2025-01-14T15:49:44.102Z] tools/call: list_transcripts: {"args":{"limit":2}}
[KRISP DEBUG 2025-01-14T15:49:44.929Z] list_transcripts: found 2 transcripts in 827ms