
Compabase
MCP server for 3M+ Polish companies — KRS & CEIDG financials, ownership, and industry search.
От сообщества: Добавлен пользователем или импортирован; проверьте владельца перед подключениемСбоиНужен API-ключГлобальныйБесплатноМожет изменять данные
Что умеет
Какие данные видит
Нужен ли аккаунт
Нужен API-ключ из настроек сервиса
MCP server for 3M+ Polish companies — KRS & CEIDG financials, ownership, and industry search.
Список инструментов сервера (42)
Технические названия из tools/list. Нужны только разработчикам.
| request_signup | Start Compabase account setup for an email. Sends a magic link. After the user clicks it, poll check_signup with the returned setup_id until status is ready — then you receive an MCP key automatically. Do not ask the user to generate a key in the portal. No auth required. |
| check_signup | Poll a request_signup session. When the user has confirmed email, returns mcp_key once and cursor_mcp_json to write to MCP config. Call every 3 seconds until status is ready, expired, or already_delivered. No auth required. |
| list_plans | List Compabase billing plans and limits. No auth required. After sign-up, use upgrade_plan to get a Stripe Checkout URL. |
| search_companies | Search and filter Polish KRS companies (spółki). Compabase also holds the full CEIDG/JDG register; this tool does not browse JDG — those without a public contact email are hidden because of RODO. Default `fields=summary` returns a compact row (name, NIP, KRS, location, PKD, latest financials, email/phone/website) — small enough for MCP clients. `fields=contacts_only` is name/NIP/KRS/city/email/phone/website only. `fields=full` returns every company_search column plus contacts and may exceed client size limits. Use for rankings, sector filters, city/county/region browsing, name search, or NIP/KRS lookup. When a PKD is mostly JDG, a sparse result includes a `hint` (full CEIDG is in the database; listing is RODO-gated). Do not call export_companies just to get a handful of emails or phones. |
| get_company | Get company registry profile and headline financials for one latest filed period (`financials.period_to` / `financial_period_to`): revenue, profit, costs, assets, estimated_value (Ohlson/RIM equity estimate), PKD, address, plus contacts when on record. All money fields in this response are that same period — there is no nested summary from a different year. NIP lookup also returns a CEIDG/JDG firm when it has a public contact email (RODO). Does NOT include balance-sheet line items (cash, receivables, inventories). For those or earlier years, use get_financials. |
| get_financials | Get full financial statement metrics per fiscal period — all entity_financial_metrics columns. Includes cash_and_equivalents, inventories, receivables, liabilities, equity, cost breakdown, revenue lines. Identify company by name, KRS, or NIP. |
| get_company_people | Get people associated with a company — management board, supervisory board, shareholders, proxies. Returns display names, role labels, and relationship types (management, supervisory, ownership, procuration). Identify by name, KRS, or NIP. |
| count_companies | Count KRS companies matching given filters. Returns a single number — no company list. Does not count JDG in this tool (full CEIDG is in Compabase; listing is RODO-gated). Sparse or zero counts in JDG-dominated PKDs include a `hint`. |
| execute_sql | Execute a read-only SQL SELECT query against the Compabase database. Use when dedicated tools are not enough (aggregations, joins, custom analysis). |
| get_company_rankings | Get a company's revenue rank positions within its industry (PKD), region (voivodeship), and all of Poland. Returns rows from company_financial_rankings — one row per scope (pkd_full, pkd_division, pkd_section, region, country). Use for questions like: where does company X rank in Poland / its industry / its region? |
| get_financial_stats | Get precomputed aggregate financial statistics for a sector, region, PKD branch, or country. Returns median, p25/p75/p90, winsorized mean, mean, total, n_companies, min/max. Use for questions like: what is the median revenue / average profit / assets in industry X or region Y? Prefer median or winsor_mean over mean. cost_wages is PLN-only. |
| get_company_public_aid | Get SUDOP public aid / grants for a company — full case list with amounts, grantor, measure, purpose. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_eu_funds | Get European Funds (Fundusze Europejskie) projects for a company — official MFiPR lists, EU co-financing, programme and dates. Keyed by NIP. Identify company by name, KRS, or NIP. Cohesion/shared-management funds; not TED procurement, not FTS Commission grants, and not SUDOP state aid. |
| get_company_procurement | Get European Commission FTS awards for a company — Horizon, LIFE, Erasmus and other direct/indirect-management grants. Keyed by NIP (VAT). Identify by name, KRS, or NIP. Not cohesion funds (get_company_fe) and not TED procurement. |
| get_company_public_tenders | Get BZP public procurement data — full awards as contractor and notices as buyer, with award values. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_energy_licenses | Get URE energy concessions for a company — full list of electricity, gas, heat, and liquid fuels, with validity dates and pending applications. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_waste_registry | Get BDO waste and packaging register data — registration number, EUP site count, activity flags, and headquarters decisions with issue and validity dates. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_stock_market | Get Warsaw Stock Exchange listing for a company — ticker, ISIN, market (GPW main / NewConnect / GlobalConnect), last close and change, market cap, shares outstanding, TTM EPS, TTM P/E (falls back to last annual filing), last quarterly results, next earnings date, dividend per share and yield. Quotes delayed ~15 minutes, in PLN. Snapshot plus a few recent daily bars — not full OHLCV history. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_eu_tenders | Get TED EU-threshold public procurement — full awards as contractor and notices as buyer. Keyed by NIP. Identify company by name, KRS, or NIP. |
| get_company_court_gazette | Get Court and Commercial Gazette (MSiG) notices for one company. Matched by KRS or NIP (creditor calls, dissolution, mergers, liquidation). |
| get_company_debt_registry | Get KRZ insolvency / restructuring proceedings. KRS companies via company_krz; sole proprietors via CEIDG KRZ by NIP. |
| get_company_beneficiaries | Get CRBR beneficial owners for a KRS company. All names are returned (same as zarząd / wspólnicy). PESEL is never included (birth_year only). JDG are not in CRBR. |
| get_company_articles | Get full text of the company's articles of association or statute (umowa spółki / statut) from RAR (Repozytorium Akt Rejestrowych). Use when the user asks about: share transfer consent, preemption rights, non-compete clauses, company duration, voting rights, special share classes, representation rules from the deed, or any clause in the founding document. Returns doc metadata + full extracted text. KRS companies only. |
| get_usage | Get current billing period usage and remaining quota — mcp_queries, api_requests, export_companies, ask_ai_credits, watchlist_companies. Includes limits and reset date. |
| get_plan | Get the user's active billing plan details — plan name, price, status, limits, prepaid credit balance, and billing period reset date. |
| list_watchlist | List companies on the user's watchlist with company data (name, KRS, NIP, revenue, city). Supports pagination via limit/offset. |
| add_to_watchlist | Add a company to the user's watchlist. Identify by KRS (10-digit) or NIP (10-digit). Supports both KRS companies and CEIDG sole proprietorships (via NIP). |
| remove_from_watchlist | Remove a company from the user's watchlist. Identify by KRS or NIP. |
| list_api_keys | List all active REST API keys (cb_…) for the user's account. Returns id, name, key_prefix, created_at, last_used_at. |
| create_api_key | Create a new REST API key (cb_…). The raw key is returned once and cannot be retrieved later. |
| delete_api_key | Revoke (deactivate) a REST API key by its ID. The key stops working immediately. |
| list_mcp_keys | List all active MCP keys (mcpk_…) for the user's account. Returns id, name, key_prefix, created_at, last_used_at. |
| create_mcp_key | Create a new MCP key (mcpk_…). The raw key is returned once and cannot be retrieved later. |
| delete_mcp_key | Revoke (deactivate) an MCP key by its ID. Cannot revoke the key currently in use. The key stops working immediately. |
| export_companies | Bulk file export of companies matching filters (CSV / XLSX / JSON). Up to 500 rows per call. Default `fields=contacts_only`: name, NIP, KRS, city, email, phone, website — small enough to use in-chat. `fields=summary` adds location, PKD, latest revenue/profit. `fields=full` is the complete dump (change history, rankings, people, enrichments, CSV twins) and often exceeds MCP client limits. Consumes export quota only after the file is built successfully. For a short list of emails after search_companies, use search with fields=contacts_only instead. |
| upgrade_plan | Create a Stripe Checkout session for a plan upgrade. Shows current plan and available upgrades. Pass plan_id ('pro' or 'scale') to get a checkout_url on checkout.stripe.com — open it in the browser for the user to pay. Do not send the user to the marketing pricing page. |
| set_webhook_url | Configure, view, or remove webhook for watchlist event notifications. Events: watchlist.company_changed, watchlist.financials_updated, watchlist.company_removed_from_registry. |
| get_byok_keys | List configured Bring-Your-Own-Key (BYOK) provider keys status. Shows which providers (openai, claude, gemini) have keys configured, with prefix and last-used date. Never returns the actual key. |
| set_byok_key | Add or update a BYOK provider API key. Key is encrypted at rest (AES-256-GCM). Requires paid plan (Pro+). Providers: openai (sk-…), claude (sk-ant-…), gemini (AIza… or AQ.…). |
| delete_byok_key | Remove a configured BYOK provider key. After removal, the platform falls back to its own model access. |
| add_watchlist_batch | Add multiple companies to watchlist in one call. Provide an array of KRS/NIP identifiers (max 500). Resolves identifiers to companies, skips duplicates, respects plan limits. |
| set_notification_preferences | Get or update email notification preferences for watchlist changes. When email_notifications=true, you will receive an email whenever a watched company's data changes (registry updates, new financial statements, deregistration, etc.). |