debreu-mcp
v2.59.0
Published
MCP server for Debreu — full access to your deal intelligence from any AI assistant
Readme
Debreu MCP Server
Connect your AI assistant to Debreu to query deal intelligence, manage companies, contacts, tasks, and metrics directly from Claude, Cursor, or any MCP-compatible client.
Quick Start
1. Get an API Key
Log into Debreu, click your avatar in the top-right corner, and go to Account Settings. Under API Keys, generate a new key. Copy it immediately — it cannot be retrieved again.
2. Configure Your Client
No install needed — npx downloads and runs it automatically.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"debreu": {
"command": "npx",
"args": ["-y", "debreu-mcp"],
"env": {
"DEBREU_API_KEY": "dbr_your_key_here"
}
}
}
}Claude Code
Add to your project's .mcp.json:
{
"mcpServers": {
"debreu": {
"command": "npx",
"args": ["-y", "debreu-mcp"],
"env": {
"DEBREU_API_KEY": "dbr_your_key_here"
}
}
}
}Cursor
Go to Settings > MCP Servers > Add, then:
- Name: Debreu
- Command:
npx -y debreu-mcp - Environment:
DEBREU_API_KEY=dbr_your_key_here
ChatGPT
ChatGPT requires a remote HTTPS MCP endpoint (it does not support local servers). To connect:
- Deploy the Debreu MCP server as a remote HTTP endpoint (e.g. using mcp-remote or a cloud host)
- In ChatGPT, go to Settings > Apps > Create (requires Developer Mode — available on Business/Enterprise/Edu plans)
- Enter the remote endpoint URL and configure authentication
- Click Create, then test and publish
See OpenAI's MCP docs for full setup details.
Available Tools (62)
Companies
| Tool | Description |
|------|-------------|
| lookup_company | Look up a company by name, UUID, or website. Returns profile and all latest metrics. |
| query_companies | Filter companies by metric values with AND logic. Supports string and numeric operators. |
| create_company | Create a company (requires name, website). Auto-hydrated with enrichment data. |
| update_company | Update company name and/or set metric values by UUID. Accepts a metrics array of {metric_name, value} pairs. |
Metrics
| Tool | Description |
|------|-------------|
| get_metric_schema | Get available metric definitions (names, types, categories). Call before querying metrics. |
| query_metric_history | Find companies where a numeric metric changed significantly over a date range. |
| create_metric_schema | Create a new metric schema definition (requires name, type). |
| update_metric_schema | Update a metric schema by UUID. System metrics cannot be modified. |
People
| Tool | Description |
|------|-------------|
| lookup_person | Look up a person by name, email, or UUID. Returns profile (incl. IANA timezone auto-extracted from signatures), company, relationship data (interaction dates, scores), and tags. |
| get_people | Get all contacts at a company with relationship data (interaction dates, scores) and tags. Requires company UUID. |
| create_person | Create a person (requires name, company_id). Optional fields include phone, role, location, timezone (IANA, e.g. America/New_York). |
| update_person | Update person fields by UUID (only provided fields are changed). Supports the same optional fields as create_person. |
Team
| Tool | Description |
|------|-------------|
| get_team | Get team members (uuid, name, email). Use to discover valid assignee_id values for tasks. |
Tasks
| Tool | Description |
|------|-------------|
| get_tasks | Query tasks with filters (supports project_id and company_id). Returns description, status, due_date, pending_from, assignee, company, person, project, and source. |
| create_task | Create a new task (requires description). Assignee defaults to current user; call get_team for other UUIDs. |
| update_task | Update a task by UUID (only provided fields are changed). |
Projects
| Tool | Description |
|------|-------------|
| query_projects | Search projects (deals) by client, type, status, or date. |
| get_project | Get full project details including tasks, tracker accounts (companies or people with interview details depending on type), working group roster, key dates, and generated companies. |
| create_project | Create a project with a tracker (defaults to company_list). Supports acquisition_targets, buyer_universe, outreach, company_list, people_list tracker types. Optional tev / fees ($M) and buyer/seller/target company UUIDs are stored on the project. |
| update_project | Update project fields (including optional tev / fees in $M and buyer/seller/target company UUIDs, clearable with null), tracker fields, manage tracker accounts, manage the working group roster (working_group_operations, including is_team_lead), and manage key dates (key_date_operations). People_list account operations support interview fields (role_sought, gpa, interviewer, date, comments, score for up to 3 rounds). Acquisition targets / buyer universe account operations support per-entry tev / fees ($M). Investor outreach account operations support is_lead, indicated_amount, allocated_amount, price_limit, investor_type, order_type. |
Comments
| Tool | Description |
|------|-------------|
| query_comments | Get comments on a record by data_model and record_id. |
| create_comment | Add a comment to any record (company, person, project, task, etc.). |
| update_comment | Update a comment's content by UUID (author only). |
Sentiments
| Tool | Description |
|------|-------------|
| get_sentiments | Query sentiment signals extracted from emails, files, and calendar events. |
Entity Tags
| Tool | Description |
|------|-------------|
| set_entity_tags | Set tags on a record (email, calendar, file, person). Replaces existing tags with the provided list. |
Emails
| Tool | Description |
|------|-------------|
| query_emails | Search emails by keyword, date, company, project, person, or tag. Use 'me' for current user. |
| get_email | Get full email content and tags by UUID from a query_emails result. |
Calendars
| Tool | Description |
|------|-------------|
| query_calendars | Search calendar events by date, company, project, person, keyword, or tag. |
| get_calendar | Get full calendar event details and tags by UUID from a query_calendars result. |
Files
| Tool | Description |
|------|-------------|
| query_files | Search uploaded files and email attachments by upload date (created_at), company, project, keyword, or tag. |
| get_file | Get full file content by UUID from a query_files result. |
| upload_file | Upload a file via local path or base64 content. Supports title, description, company/calendar-event association, and file_date (backdate to a past document's effective date — parsing uses this as the reference date). |
| share_file_with_user | Grant explicit access to a teammate for a file you own. Recipient gets full owner-equivalent access. |
| share_file_with_users | Grant explicit access to multiple teammates in one call. |
| list_file_shares | List all active shares on a file (explicit + email_recipient). Owner-only. |
| revoke_file_share | Revoke an explicit share. Email-recipient and project-member shares cannot be revoked manually. |
Briefings
| Tool | Description |
|------|-------------|
| get_my_day | Get today's agenda, key meetings, action items, and priorities. |
| get_my_week | Get the week ahead including meetings, deal updates, and deadlines. |
| get_meeting_prep | Get AI-generated meeting prep for a company: background, metrics, talking points. |
Status Definitions
| Tool | Description |
|------|-------------|
| get_status_definitions | Get allowed status values for a status type (task, project, etc.). Call before filtering or setting status. |
| create_status_definition | Create a status definition for a status type (task, workflow_account, etc.). |
| update_status_definition | Update a status definition by UUID. |
Dashboard
| Tool | Description |
|------|-------------|
| get_dashboard_config | Get a dashboard config — by effective type ('home'/'custom') or by UUID. Returns layout and components, including dashboard widget config such as biopharma_catalyst_calendar. |
| list_dashboards | List all dashboards owned by the user, optionally filtered by type ('home', 'custom'). |
| create_dashboard | Create a new dashboard (defaults to type 'custom') with a name and optional layout/components. |
| delete_dashboard | Delete a user-level dashboard by UUID. |
| update_dashboard_config | Update a user-level dashboard config by UUID. Supports name, 18-column layout, and components. For biopharma_catalyst_calendar, use the documented column/filter keys and lowercase phase values. |
Issue Reports
| Tool | Description |
|------|-------------|
| report_issue | Report an issue or bug. Creates an issue report tied to the current user. |
Portfolio
| Tool | Description |
|------|-------------|
| get_portfolio_data | Read portfolio data for investor companies (port_cos, parent_portfolios, funds) or fund (sponsor + port_cos). Each port_co row includes relationship_uuid for delete, shared relationship_data, and per-viewer team_data (team_lead, priority). |
| update_portfolio_data | Single write tool, intended for investor companies. action ∈ create_port_co \| update_port_co \| create_fund \| update_fund. Both companies must already exist for create_port_co. |
Biopharma Assets
| Tool | Description |
|------|-------------|
| get_biopharma_assets | Read biopharma assets and nested indications for biotechnology or pharmaceuticals companies by company_uuid or asset_uuid. |
| create_biopharma_asset | Create a biopharma asset with optional target, mechanism of action, and lead flag. |
| update_biopharma_asset | Update a biopharma asset by UUID. Nullable fields can be cleared with null. |
| create_biopharma_indication | Create an indication under an asset with optional phase, milestone, milestone date, peak sales ($M), and lead flag. |
| update_biopharma_indication | Update a biopharma indication by UUID. Nullable fields can be cleared with null. |
Email Templates
| Tool | Description |
|------|-------------|
| list_email_templates | List live (non-archived, latest-version) templates for the team. Optional folder filter. |
| get_email_template | Fetch one template; pass include_history=true to also return the version chain. |
| create_email_template | Create a template (subject + body, with whitelisted handlebars like {{first_name}}, {{company_name}}). |
| update_email_template | Patch a template — creates a new version row; prior version stays in the history chain. |
Email Campaigns
| Tool | Description |
|------|-------------|
| list_email_campaigns | List the team's campaigns (newest first). Filters: project_id, status, limit. |
| get_email_campaign | Fetch a campaign with its per-recipient rows (each row carries its own uuid for per-row schedule overrides). |
| create_email_campaign | Atomic create: campaign row + recipient rows + Cloud Run draft trigger, all-or-nothing. Supports fresh (recipients list) or follow-up (follow_up spec with same_thread/new_thread). |
| schedule_email_campaign | Schedule sends via Cloud Tasks. Single base time + optional stagger, OR per-row schedules override list. |
Delete
| Tool | Description |
|------|-------------|
| delete_record | Delete any record by type and UUID. Supports: company, person, task, metric_schema, project, comment, status_definition, email, calendar, file, port_co_relationship, fund, email_template, biopharma_asset, biopharma_indication, email_campaign. |
Configuration
| Environment Variable | Required | Default | Description |
|---------------------|----------|---------|-------------|
| DEBREU_API_KEY | Yes | — | Your Debreu API key |
| DEBREU_API_URL | No | https://api.debreu.ai | API base URL (override for self-hosted or dev) |
API Key Management
Manage your API keys from Account Settings (click your avatar in the top-right). You can create new keys, view existing ones, and revoke any key from there.
Data Scoping
All data is scoped to your user and team. You will only see companies, people, and data that your team has access to in Debreu. Creating records through the API links them to your account automatically.
