@keycard-gtm/event-roi-mcp
v0.1.0
Published
MCP server for assessing event ROI and managing event investments
Downloads
28
Maintainers
Readme
Event ROI MCP Server
An MCP server for assessing event ROI, tracking decisions and outcomes, and learning from historical data to improve recommendations.
What This Does
- Assess events using multi-dimensional scoring (audience fit, topic alignment, opportunity quality, competitive dynamics, cost efficiency)
- Track decisions and commitments with Linear integration
- Record outcomes and learnings post-event
- Collaborate via shared Supabase database with full audit trails
Installation
npm install -g @keycard-gtm/event-roi-mcpClaude Desktop Setup
Add to your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"event-roi": {
"command": "event-roi-mcp",
"env": {
"DATABASE_URL": "postgresql://...",
"LINEAR_API_KEY": "lin_api_...",
"SLACK_USER_TOKEN": "xoxp-...",
"FOUNDER_USER_IDS": "U123ABC,U456DEF",
"LEADERSHIP_USER_IDS": "U123ABC,U456DEF,U789GHI"
}
}
}
}Restart Claude Desktop to load the server.
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| DATABASE_URL | Yes | Supabase/Postgres connection string |
| LINEAR_API_KEY | Yes | Linear API key for issue management |
| SLACK_USER_TOKEN | No | Slack user token for team discussion integration |
| FOUNDER_USER_IDS | No | Comma-separated Slack user IDs for founder tracking |
| LEADERSHIP_USER_IDS | No | Comma-separated Slack user IDs for leadership tracking |
Getting Your Credentials
- DATABASE_URL: From your Supabase project settings → Database → Connection string
- LINEAR_API_KEY: Linear Settings → API
- SLACK_USER_TOKEN: Create a Slack app at https://api.slack.com/apps with scopes:
channels:history,channels:read,users:read
Database Setup
Run the schema migration on your Supabase database:
# The schema file is included in the package
npx event-roi-schema | psql $DATABASE_URLOr manually run the SQL from schema.postgres.sql.
Usage
Once configured, you can use these tools in Claude:
Core Tools
assess_event- Analyze an event from URL or manual inputsubmit_event- Quick submission for team reviewrecord_decision- Log decisions (sponsor, speak, attend, skip)get_event/list_events- Query event data and history
Configuration
get_config/update_config- Manage company configuration (ICP, topics, competitors)
Integrations
fetch_slack_context- Extract team discussions and sentiment from Slack channels
Example
"Assess the RSA Conference for potential sponsorship"
→ assess_event({ url: "https://rsaconference.com" })Slack Integration
Enrich event assessments with team discussions from Slack channels:
- Create a Slack app at https://api.slack.com/apps
- Add OAuth User Token Scopes:
channels:history- Read messages in public channelschannels:read- View basic channel infousers:read- View people in workspace
- Install app to workspace and copy the User OAuth Token (starts with
xoxp-) - Add to your Claude Desktop config
What it extracts:
- Team sentiment and enthusiasm scores (via emoji reactions)
- Urgency signals and deadline mentions
- Competitive intel (competitor/partner mentions)
- Opportunity details (CFP deadlines, speaking slots)
Development
# Clone the repo
git clone https://github.com/keycardlabs/event-roi-mcp.git
cd event-roi-mcp
# Install dependencies
npm install
# Configure environment
cp .env.sample .env
# Edit .env with your credentials
# Build
npm run build
# Run in dev mode
npm run devDocumentation
- Architecture & Design Decisions
- Configuration Guide
- Development Guide
- Database Schema
- Full Specification
License
MIT
