readai-mcp-server

aspenas/readai-mcp-server

3.2

If you are the rightful owner of readai-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Read.ai MCP Server is a production-ready Model Context Protocol server designed to integrate with Read.ai's webhook system for storing and querying meeting data.

Tools
7
Resources
0
Prompts
0

Read.ai MCP Server

A production-ready MCP (Model Context Protocol) server that integrates with Read.ai's webhook system to store and query meeting data.

Features

  • Webhook Integration: Receives and stores Read.ai meeting data via webhook
  • SQLite Database: Persistent storage of meetings, participants, action items, topics, transcripts
  • 7 MCP Tools: Natural language querying through Tasklet/Claude
  • FastAPI: Modern, fast web framework with automatic API documentation
  • Docker Support: Easy deployment with Docker and Docker Compose
  • Railway/Fly.io Ready: One-click deployment configurations included

MCP Tools Available

  1. search_meetings - Search meetings by title, participant, or date range
  2. get_meeting_details - Get full details of a specific meeting
  3. get_action_items - Retrieve action items with optional filtering
  4. search_transcript - Search meeting transcripts by content or speaker
  5. get_participant_meetings - Get all meetings for a specific participant
  6. get_topics - Get topics discussed across meetings
  7. get_meeting_summary - Get summary statistics and insights

Quick Start

Local Development

  1. Clone the repository:
git clone https://github.com/candlefish-ai/readai-mcp-server.git
cd readai-mcp-server
  1. Install dependencies:
pip install -r requirements.txt
  1. Copy environment file:
cp .env.example .env
  1. Run the server:
uvicorn readai_mcp.main:app --reload

The server will be available at http://localhost:8000

Docker Deployment

docker-compose up -d

Railway Deployment

  1. Install Railway CLI:
npm install -g railway
  1. Initialize and deploy:
railway login
railway init
railway variables set WEBHOOK_TOKEN=1df1a04b5ec6ba110262d321e8cb1202
railway up
  1. Get your deployment URL:
railway domain

Read.ai Webhook Configuration

  1. Log into Read.ai
  2. Navigate to Settings → Integrations → Webhooks
  3. Click "Add Webhook"
  4. Configure:
    • URL: https://your-deployment-url/webhook
    • Token: 1df1a04b5ec6ba110262d321e8cb1202
    • Event: meeting_end

Connecting to Tasklet/Claude

Once deployed, connect via MCP:

setup_mcp_server_connection(
    displayName="Read.ai Meetings",
    serverUrl="https://your-deployment-url/mcp"
)

API Documentation

FastAPI automatically generates interactive API documentation:

  • Swagger UI: http://your-server/docs
  • ReDoc: http://your-server/redoc

Testing

Run the test suite:

pytest tests/ -v

Test webhook manually:

curl -X POST https://your-server/webhook \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Token: 1df1a04b5ec6ba110262d321e8cb1202" \
  -d '{
    "session_id": "test-123",
    "trigger": "meeting_end",
    "title": "Test Meeting",
    "start_time": "2025-11-01T10:00:00Z",
    "end_time": "2025-11-01T11:00:00Z",
    "owner": {"name": "Test User", "email": "test@example.com"},
    "participants": [],
    "summary": "Test summary",
    "action_items": [],
    "key_questions": [],
    "topics": [],
    "report_url": "https://test.com"
  }'

Example Queries (via MCP)

Once connected to Tasklet/Claude, you can ask:

  • "Search for meetings with Jesse about PromoterOS"
  • "Get all action items from last week's meetings"
  • "Find transcript mentions of Watsonx Orchestrate"
  • "Show me all meetings Alice participated in this month"
  • "What topics were discussed in product meetings?"
  • "Give me a summary of meeting activity for October"

Project Structure

readai-mcp-server/
├── readai_mcp/
│   ├── __init__.py
│   ├── main.py           # FastAPI app + MCP server
│   ├── database.py       # SQLAlchemy models & DB operations
│   ├── models.py         # Pydantic models
│   ├── mcp_tools.py      # MCP tool implementations
│   └── config.py         # Configuration
├── tests/
│   ├── test_webhook.py   # Webhook endpoint tests
│   └── test_mcp_tools.py # MCP tools tests
├── Dockerfile
├── docker-compose.yml
├── railway.json          # Railway deployment config
├── fly.toml              # Fly.io deployment config
├── requirements.txt
└── README.md

Environment Variables

VariableDefaultDescription
WEBHOOK_TOKEN(required)Authentication token for Read.ai webhook
DATABASE_URLsqlite:///./meetings.dbDatabase connection string
MCP_SERVER_NAMERead.ai MCP ServerServer name for MCP
MCP_SERVER_VERSION0.1.0Server version
API_HOST0.0.0.0API host binding
API_PORT8000API port
LOG_LEVELINFOLogging level

Monitoring

View logs (Railway):

railway logs --follow

View logs (Docker):

docker logs readai-mcp-server -f

Check database:

sqlite3 meetings.db "SELECT * FROM meetings LIMIT 5;"

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT License - see LICENSE file for details

Support

For issues or questions:

Acknowledgments

  • Built for PromoterOS/Facture discovery sessions
  • Powered by FastAPI and MCP
  • Integrated with Read.ai's webhook system