Kruncher MCP Server
The Kruncher MCP server lets AI assistants interact with your deal flow, portfolio companies, reports, and market intelligence through the Model Context Protocol . Instead of making REST calls manually, your AI assistant gets direct access to Kruncher tools.
- Server URL:
https://mcp.kruncher.ai/mcp
Capabilities
The server exposes 44 tools, grouped below. Every tool also accepts an optional userQuestion string — clients that pass the user’s original wording get better relevance ranking and telemetry.
Pipeline & search
| Tool | Description | Key parameters |
|---|---|---|
search_companies | Keyword search across pipeline companies | keywords*, page |
list_projects | Filtered, paginated pipeline listing | keywords, companyName, companyIndustry, companyCountry, companyStage, businessModel, projectStageId, listId, alphaReportId, fitOutcome, growthOutcome, sortBy, sortOrder, page, pageSize (max 50) |
get_filters | Pipeline configuration and filter options with counts | alphaReportId |
get_dashboard_stats | Account-level pipeline summary | — |
get_customer_context | Fund profile, branding, and investment thesis | — |
get_preferences | Fund-level configuration, criteria, and deal-score framework | — |
list_project_stages | Pipeline stage catalog | — |
get_relationships | Known business relationships of one company: investors, vendors, customers, partners, competitors, comparables, owners, and recorded people | projectId* |
Reports
| Tool | Description | Key parameters |
|---|---|---|
get_report | Full or section-filtered company analysis report | projectId*, analysisId, sections, useV1 |
get_report_sections | Available report section keys (use to filter get_report) | — |
get_notes | Notes, comments, and activity for a company | projectId* |
screenshot_report_section | PNG capture of report charts and widgets | projectId, selectors (by chartKey, reportRowId, chapterRowId, or entityKey), analysisId |
edit_chapter_row | Overwrite the text of a single report row | analysisreportrowId, analysisId, textEdited* |
screenshot_report_section accepts these chartKey values: company-fit-radar, signal-heatmap, founder-score, team-summary, team-strengths, financial-charts, budget-vs-actual, competitors-matrix, company-structure. It can take up to 120 seconds.
Companies & pipeline writes
| Tool | Description | Key parameters |
|---|---|---|
create_company | Add a company — bookmark, analyze from website, or analyze with a document link / notes | projectType* (projectAnalysisWithFile | projectAnalysisNoFile | projectNoAnalysis), companyName, companyWebsite, docLink, notesText, confirm |
add_comment | Add a note to a company’s activity log | projectId, comment |
save_insight | Save an AI-generated insight, tagged “AI Insight” | projectId, comment |
set_project_stage | Move one or more companies to a pipeline stage | projectIds, projectStageId, reasonTakenArray, comment |
A full analysis costs 1 credit and takes 15–20 minutes. Bookmarks (projectNoAnalysis) are free.
Stage configuration
| Tool | Description | Key parameters |
|---|---|---|
configure_stage_memo | Replace a stage’s memo template | stageId, memoCustomization, confirm |
configure_stage_report_summary | Set which report summary a stage shows | stageId, summaryreport ({ id, label }), confirm |
configure_stage_automation | Create or update a stage automation | stageId, trigger, action*, automationId, code, recurrent, condition, actionObject, confirm |
Documents & email
| Tool | Description | Key parameters |
|---|---|---|
list_document_templates | Document templates available for a company | projectId* |
generate_document | Generate a DOCX or PPTX from an analysis (async) | projectId, templateId, templateName, format (word | pptx), analysisId, amountOfText (concise | detailed), customInstructions, brandColor, confirm |
get_document_status | Poll a generation job until it flips to saved, then read the download link | templateId* |
list_uploaded_document_templates | Templates your team uploaded (pptx/docx) | — |
update_uploaded_document_template | Rename an uploaded template or make it the default | templateId*, name, isDefault |
delete_uploaded_document_template | Soft-delete an uploaded template | templateId* |
prepare_email_draft | Build an email draft from a saved template for a company | projectId, templateCode, analysisId |
Market intelligence (Alpha Reports)
| Tool | Description | Key parameters |
|---|---|---|
list_alpha_reports | Alpha Reports you own | query |
get_alpha_report | One Alpha Report end to end, live or replayed from a past run | alphareportId*, runId, sections, depth (scan | digest | full) |
list_alpha_report_runs | Run and version history for a report | alphareportId*, limit (1–100) |
Person research
| Tool | Description | Key parameters |
|---|---|---|
list_person_research_configs | Person research configs: id, name, default flag, section list, and whether person research is enabled | — |
get_person_research_config | One config with the prompt and order of each section | config_id* |
add_person_research_config | Add a config. Account owners only. Preview until confirm | name, requirements (1–10 of { key, label, prompt, order }), is_default, confirm |
edit_person_research_config | Edit a config. requirements replaces the whole list. Account owners only. Preview until confirm | config_id*, name, requirements, is_default, confirm |
delete_person_research_config | Delete a config. Account owners only. Preview until confirm | config_id*, confirm |
research_person | Start a deep research run on a person. Account owners only. Preview until confirm. Returns PERSON_RESEARCH_DISABLED when person research is not enabled | linkedin_url, founder_id, kruncher_entity_person_id, full_name, company_name, config_id, config_name, jurisdiction_hint, customer_context, confirm |
get_person_research | Status and result of a run, by task or by person | task_id or kruncher_entity_person_id (+ config_id), format (json | markdown) |
A run takes up to 60 minutes. Poll get_person_research with the taskId that research_person returns.
Portfolio data
| Tool | Description | Key parameters |
|---|---|---|
manage_investment | Add or edit an investment record | operation* (add | edit), projectId or companyName, id, roundName, roundCode, investmentTypeName, investmentTypeCode, amount, valuation, fairMarketValue, currency, date, confirm |
manage_kpi_config | List, add, edit, or delete KPI configuration | operation* (list | add | edit | delete), projectId or companyName, metricKey, referenceType, referenceOperator, eventOutcome, threshold values, score, confirm |
Funds
| Tool | Description | Key parameters |
|---|---|---|
list_funds | Funds you can see, each with its latest analysis run and its reported headline figures | — |
get_fund | One fund analysis run, returned by section | fundExtractionId*, sections (summary | overview | assets | structure | workbook | data), dataSections, dataOffset |
Skills & data sources
| Tool | Description | Key parameters |
|---|---|---|
list_skills | Skills configured for your workspace | — |
get_skill | Fetch one skill’s instructions by key | key* |
query_data_source | Query an external data source directly | source* (predictleads | semrush | coresignal | investorcrm | web | serpapi | social), action*, params |
* required
Claude
Claude.ai (Web & Mobile)
Open the Kruncher listing in the Claude Connector Directory and add the connector. You log in with your Kruncher account.
To add Kruncher as a custom connector instead:
- Go to claude.ai → Settings → Connectors
- Click Add custom connector
- Enter the MCP server URL:
https://mcp.kruncher.ai/mcp - Click Add
- You’ll be redirected to log in with your Kruncher account
- After authentication, Kruncher tools appear in your conversations
To use in a conversation: click + near the composer, select Connectors, and enable Kruncher.
If Dynamic Client Registration (DCR) is not enabled, expand Advanced Settings when adding the connector and enter the OAuth Client ID from the Kruncher Settings page (leave Client Secret empty).
Connectors added on the web are automatically available on Claude mobile.
ChatGPT
ChatGPT connects to the Kruncher MCP server natively via the Apps system. ChatGPT discovers all OAuth configuration automatically from the server’s .well-known endpoints — no manual auth URL or client ID configuration needed.
Setup
- Go to ChatGPT → Settings → Apps & Connectors
- Open Advanced settings
- Toggle Developer Mode on (Team/Enterprise: workspace admin must enable this in Workspace Settings → Permissions & Roles)
- Click Create and fill in:
| Field | Value |
|---|---|
| Connector name | Kruncher |
| Description | Search your deal pipeline, analyze companies, view investment reports, and manage your Kruncher portfolio. |
| Connector URL | https://mcp.kruncher.ai/mcp |
- ChatGPT will discover OAuth configuration automatically
- Click Save
Testing
- Start a new chat in ChatGPT
- Click + near the composer → More → select Kruncher
- Try:
"Show me my pipeline"— should trigger thelist_projectstool - On first use, you’ll be redirected to log in with your Kruncher account
Official Connectors
The Kruncher connector is listed in the Claude Connector Directory: claude.ai/directory/kruncher . The ChatGPT App Store listing is under review by OpenAI. Until it is approved, use the custom connector setup described above for ChatGPT.
Authentication
Current: OAuth 2.0 (User Login)
The MCP server uses OAuth 2.1 with PKCE via Auth0 for user authentication. When connecting from Claude.ai or ChatGPT, users are redirected to the Kruncher login page to authenticate with their account. The resulting JWT is used for all subsequent tool calls.
- Auth server:
https://auth.kruncher.ai - Flow: Authorization Code with PKCE (no client secret required)
- Token: JWT with audience
https://api.kruncher.ai
This is the same login flow used in the Kruncher web app — users authenticate with their email.
Coming Soon: API Key Authentication
For agent-to-agent integration (automated pipelines, background workers, scheduled tasks), we will release API key authentication for the MCP server. This will work the same way as the Integration API keys — generate a key in Kruncher Settings and pass it directly without an OAuth login flow.
MCP or Integration API?
| Use | Choose |
|---|---|
| An AI assistant working on behalf of a signed-in user | MCP server |
| Unattended sync, cron jobs, CRM pipelines, server-to-server | Integration API |
| Event notifications pushed to your own service | Webhooks |
The two surfaces sit on the same backend and the same permission model, so a company created over the Integration API is immediately visible to MCP tools, and vice versa.
Usage Examples
Once connected, ask your AI assistant naturally:
"Show me all projects in my pipeline"
"Search for fintech companies"
"Get the full analysis report for Acme Corp"
"Create a new project for TechStartup Inc with website techstartup.com"
"Add a comment to Acme Corp: Followed up via email"
"Move Acme Corp to Due Diligence"
"Build a one-pager for Acme Corp from our standard template"
"Screenshot the company fit radar for Acme Corp"
"What changed in my Climate Tech alpha report since last run?"
"Record a $2M Series A investment in Acme Corp at a $20M valuation"
"What's the revenue growth for companies in my portfolio?"Troubleshooting
| Issue | Solution |
|---|---|
| Tools not appearing | Restart your MCP client and check logs |
| Connection timeout | Some operations (research, chat, screenshots) take up to 120 seconds |
| Auth token expired | Disconnect and reconnect the connector to get a fresh token |
| A write tool “did nothing” | It is confirm-gated — re-run it with confirm: true |
Document link missing after generate_document | Generation is async; poll get_document_status until status is saved |
| Claude connector fails | Verify https://mcp.kruncher.ai/mcp is accessible |
| ChatGPT connection fails | Verify MCP server is running and CORS allows chatgpt.com |
Links
- Kruncher — AI-powered deal flow management
- Integration API Docs — REST API documentation
- MCP Specification — Model Context Protocol