MCPサーバー

Compabase

io.github.ContentWriterco/compabase
ビジネス・業務 金融・投資 公開・接続可能 MCP 2026-07-28

このMCPでできること

Provides Polish company registry profiles, ownership, management, financial statements, rankings, public procurement, grants, debt, licenses, and company search or export.

add_to_watchlist
Add Company 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).
冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (10 digits, zero-padded).'}, 'nip': {'type': 'string', 'description': 'NIP tax number (10 digits). Used for CEIDG if no KRS match.'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Operation status (added or already_watched).'}, 'company': {'type': 'object', 'description': 'Watchlist entry created.'}}}
add_watchlist_batch
Batch Add Companies to Watchlist
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.
入力スキーマ
{'type': 'object', 'required': ['identifiers'], 'properties': {'identifiers': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Array of KRS numbers (10 digits) or NIP numbers (10 digits).'}}}
出力スキーマ
{'type': 'object', 'required': ['added', 'total'], 'properties': {'added': {'type': 'number', 'description': 'Number of companies successfully added.'}, 'total': {'type': 'number', 'description': 'Total requested companies.'}}}
check_signup
Check Compabase Signup Status
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.
外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['setup_id'], 'properties': {'client': {'enum': ['cursor', 'claude', 'vscode', 'other'], 'type': 'string', 'description': 'Optional client hint for the key name.'}, 'setup_id': {'type': 'string', 'description': 'setup_id from request_signup.'}}}
出力スキーマ
{'type': 'object', 'required': ['status', 'message'], 'properties': {'email': {'type': 'string', 'description': 'User email address if confirmed.'}, 'status': {'type': 'string', 'description': 'Setup session status: pending, ready, expired, already_delivered, or not_found.'}, 'mcp_key': {'type': 'string', 'description': 'Generated Compabase MCP key (mcpk_...).'}, 'message': {'type': 'string', 'description': 'Status message or next step guidance.'}, 'key_name': {'type': 'string', 'description': 'Display name of the generated key.'}, 'key_prefix': {'type': 'string', 'description': 'First 9 characters of the key.'}, 'cursor_mcp_json': {'type': 'object', 'description': 'Suggested MCP configuration snippet for Cursor / Claude Desktop.'}, 'poll_after_seconds': {'type': 'number', 'description': 'Seconds to wait before polling again if pending.'}}}
count_companies
Count Polish 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`.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number.'}, 'pkd': {'type': 'string', 'description': "Primary PKD code prefix, e.g. '46.90.Z' or '46'."}, 'city': {'type': 'string', 'description': 'City name — KRS uses uppercase.'}, 'name': {'type': 'string', 'description': "Company name fragment (case-insensitive). Matches display name and full KRS name; legal-form suffixes like 'sp. z o.o.' are ignored."}, 'year': {'type': 'integer', 'description': 'Filter to companies whose latest financial_period_to falls within this calendar year. Use only for sector/ranking browse — omit when looking up a company by name, KRS, or NIP.'}, 'county': {'type': 'string', 'description': 'County / powiat (lowercase).'}, 'region': {'type': 'string', 'description': 'Voivodeship (lowercase).'}, 'all_pkd': {'type': 'string', 'description': "Match any PKD code in the company's activity list (not just primary)."}, 'has_email': {'type': 'boolean', 'description': 'true = only companies with email on record. Omit otherwise.'}, 'is_active': {'type': 'boolean', 'description': 'true = active only, false = closed only. Omit for all.'}, 'ebitda_max': {'type': 'number', 'description': 'Maximum EBITDA in PLN.'}, 'ebitda_min': {'type': 'number', 'description': 'Minimum EBITDA in PLN.'}, 'legal_form': {'type': 'string', 'description': 'Legal form fragment.'}, 'profit_max': {'type': 'number', 'description': 'Maximum net profit in PLN.'}, 'profit_min': {'type': 'number', 'description': 'Minimum net profit in PLN.'}, 'capital_max': {'type': 'number', 'description': 'Maximum share capital in PLN.'}, 'capital_min': {'type': 'number', 'description': 'Minimum share capital in PLN.'}, 'has_website': {'type': 'boolean', 'description': 'true = only companies with website on record. Omit otherwise.'}, 'revenue_max': {'type': 'number', 'description': 'Maximum total revenue in PLN.'}, 'revenue_min': {'type': 'number', 'description': 'Minimum total revenue in PLN.'}, 'total_assets_max': {'type': 'number', 'description': 'Maximum total assets in PLN.'}, 'total_assets_min': {'type': 'number', 'description': 'Minimum total assets in PLN.'}, 'estimated_value_max': {'type': 'number', 'description': 'Maximum Ohlson estimated equity value in PLN.'}, 'estimated_value_min': {'type': 'number', 'description': 'Minimum Ohlson estimated equity value in PLN.'}, 'profit_operating_max': {'type': 'number', 'description': 'Maximum operating profit in PLN.'}, 'profit_operating_min': {'type': 'number', 'description': 'Minimum operating profit in PLN.'}}}
出力スキーマ
{'type': 'object', 'required': ['count'], 'properties': {'hint': {'type': 'string', 'description': 'Optional guidance regarding filters or CEIDG.'}, 'count': {'type': 'number', 'description': 'Total count of KRS companies matching filters.'}}}
create_api_key
Create REST API Key
Create a new REST API key (cb_…). The raw key is returned once and cannot be retrieved later.
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Human-readable label for the key (max 100 chars).'}}}
出力スキーマ
{'type': 'object', 'required': ['api_key'], 'properties': {'name': {'type': 'string', 'description': 'Label assigned to key.'}, 'api_key': {'type': 'string', 'description': 'Newly generated REST API key.'}}}
create_mcp_key
Create MCP Key
Create a new MCP key (mcpk_…). The raw key is returned once and cannot be retrieved later.
入力スキーマ
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Human-readable label for the key (max 100 chars).'}}}
出力スキーマ
{'type': 'object', 'required': ['mcp_key'], 'properties': {'name': {'type': 'string', 'description': 'Key name.'}, 'mcp_key': {'type': 'string', 'description': 'Newly generated MCP key (mcpk_...).'}}}
delete_api_key
Revoke REST API Key
Revoke (deactivate) a REST API key by its ID. The key stops working immediately.
破壊的操作あり 冪等
入力スキーマ
{'type': 'object', 'required': ['key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'UUID of the API key to revoke (from list_api_keys).'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Result status of revocation.'}}}
delete_byok_key
Remove Bring-Your-Own-Key Provider
Remove a configured BYOK provider key. After removal, the platform falls back to its own model access.
破壊的操作あり 冪等
入力スキーマ
{'type': 'object', 'required': ['provider'], 'properties': {'provider': {'enum': ['openai', 'claude', 'gemini'], 'type': 'string', 'description': 'Provider to remove key for.'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Removal status.'}}}
delete_mcp_key
Revoke MCP Key
Revoke (deactivate) an MCP key by its ID. Cannot revoke the key currently in use. The key stops working immediately.
破壊的操作あり 冪等
入力スキーマ
{'type': 'object', 'required': ['key_id'], 'properties': {'key_id': {'type': 'string', 'description': 'UUID of the MCP key to revoke (from list_mcp_keys).'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Result status of revocation.'}}}
execute_sql
Execute Read-Only SQL
Execute a read-only SQL SELECT query against the Compabase database. Use when dedicated tools are not enough (aggregations, joins, custom analysis).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'description': 'A read-only SQL SELECT or WITH…SELECT statement.'}}}
出力スキーマ
{'type': 'object', 'required': ['rows'], 'properties': {'rows': {'type': 'array', 'description': 'Result rows from the read-only query.'}, 'rowCount': {'type': 'number', 'description': 'Number of rows returned.'}}}
export_companies
Export Companies to CSV
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.
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (exports that one company).'}, 'nip': {'type': 'string', 'description': 'NIP tax number (exports matching companies).'}, 'pkd': {'type': 'string', 'description': "Primary PKD code prefix, e.g. '80.10', '80.10.Z', or '80' (same prefix matching as search_companies)."}, 'city': {'type': 'string', 'description': 'City name.'}, 'name': {'type': 'string', 'description': 'Company name fragment (case-insensitive).'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Max rows to export (default: 50, max: 500).'}, 'county': {'type': 'string', 'description': 'County / powiat (lowercase). Same filter as search_companies / count_companies.'}, 'fields': {'enum': ['contacts_only', 'summary', 'full'], 'type': 'string', 'description': 'Payload size. Default contacts_only (name, NIP, KRS, city, email, phone, website). summary adds county/region, PKD, latest revenue/profit. full is the complete profile dump — often too large for MCP clients; use only when asked for the full file.'}, 'format': {'enum': ['csv', 'xlsx', 'json'], 'type': 'string', 'description': 'Export format (default: csv). Column set follows `fields` (contacts_only by default).'}, 'locale': {'enum': ['en', 'pl', 'de'], 'type': 'string', 'description': 'Column/label language (default: en).'}, 'region': {'type': 'string', 'description': 'Voivodeship (e.g. mazowieckie).'}, 'all_pkd': {'type': 'string', 'description': "Match any PKD code in the company's activity list (not just primary)."}, 'is_active': {'type': 'boolean', 'description': 'true = active companies only.'}, 'revenue_max': {'type': 'number', 'description': 'Maximum total revenue.'}, 'revenue_min': {'type': 'number', 'description': 'Minimum total revenue.'}}}
出力スキーマ
{'type': 'object', 'required': ['download_url'], 'properties': {'count': {'type': 'number', 'description': 'Number of records exported.'}, 'download_url': {'type': 'string', 'description': 'Direct download URL for generated CSV file.'}}}
get_byok_keys
Get Bring-Your-Own-Key Providers
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'properties': {'providers': {'type': 'array', 'description': 'Configured AI provider keys.'}}}
get_company
Get Company Profile
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (10 digits, zero-padded).'}, 'nip': {'type': 'string', 'description': 'NIP tax number (10 digits, dashes optional).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown (legal-form suffix optional).'}}}
出力スキーマ
{'type': 'object', 'properties': {'company': {'type': 'object', 'description': 'Detailed company profile.'}, 'contacts': {'type': 'object', 'description': 'Public contact details (email, phone, website) if available.'}, 'financials': {'type': 'object', 'description': 'Headline financials for latest filed period.'}}}
get_company_articles
Get News Mentions
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP — used to resolve KRS when needed.'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}, 'doc_id': {'type': 'string', 'description': 'Optional: specific rar_doc_id. Omit for the latest articles / statute.'}}}
出力スキーマ
{'type': 'object', 'properties': {'articles': {'type': 'array', 'description': 'Media mentions, press articles, and business news mentioning company.'}}}
get_company_beneficiaries
Get Ultimate Beneficial Owners (CRBR)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (required path for CRBR).'}, 'nip': {'type': 'string', 'description': 'NIP — used to resolve KRS when needed.'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'beneficiaries': {'type': 'array', 'description': 'Registered Ultimate Beneficial Owners (UBO) from CRBR.'}}}
get_company_court_gazette
Get Court and Commercial Gazette (MSiG)
Get Court and Commercial Gazette (MSiG) notices for one company. Matched by KRS or NIP (creditor calls, dissolution, mergers, liquidation).
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP (CEIDG / when KRS unknown).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'entries': {'type': 'array', 'description': 'Official announcements published in Monitor Sądowy i Gospodarczy.'}}}
get_company_debt_registry
Get National Debt Register (KRZ)
Get KRZ insolvency / restructuring proceedings. KRS companies via company_krz; sole proprietors via CEIDG KRZ by NIP.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP (CEIDG / when KRS unknown).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'proceedings': {'type': 'array', 'description': 'Insolvency, restructuring, and bankruptcy proceedings on record in KRZ.'}}}
get_company_energy_licenses
Get Energy Regulatory Office Licenses (URE)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for URE).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'concessions': {'type': 'array', 'description': 'Energy regulator concessions and electricity/gas trade licenses.'}}}
get_company_eu_funds
Get EU Funds Projects
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for FE).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'projects': {'type': 'array', 'description': 'EU-funded projects and subsidies co-financed by European funds.'}}}
get_company_eu_tenders
Get EU Tenders Daily (TED)
Get TED EU-threshold public procurement — full awards as contractor and notices as buyer. Keyed by NIP. Identify company by name, KRS, or NIP.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for TED).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'tenders': {'type': 'array', 'description': 'High-value public procurement notices published on Tenders Electronic Daily.'}}}
get_company_people
Get Company People & Management
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number.'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown (legal-form suffix optional).'}, 'relationship_type': {'type': 'string', 'description': 'Filter: management, supervisory (rada nadzorcza), ownership, procuration. Omit for all.'}}}
出力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS number of the company.'}, 'people': {'type': 'array', 'description': 'List of associated persons (board, supervisory, shareholders, proxies).'}}}
get_company_procurement
Get Public Procurement Contracts (FTS)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for FTS).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'contracts': {'type': 'array', 'description': 'Public procurement tenders won by the company.'}}}
get_company_public_aid
Get Public Aid (SUDOP)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for SUDOP).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'aid_records': {'type': 'array', 'description': 'Records of de minimis and state public aid granted to company.'}}}
get_company_public_tenders
Get Public Procurement Bulletin (BZP)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for BZP).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'notices': {'type': 'array', 'description': 'Public procurement bulletin tender announcements and contract awards.'}}}
get_company_rankings
Get Company Sector 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?
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (10 digits, zero-padded).'}, 'nip': {'type': 'string', 'description': 'NIP tax number (10 digits, dashes optional).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}, 'scope_type': {'enum': ['pkd_full', 'pkd_division', 'pkd_section', 'region', 'country'], 'type': 'string', 'description': 'Optional. Filter to a single scope. Omit to get all scopes.'}}}
出力スキーマ
{'type': 'object', 'properties': {'rankings': {'type': 'array', 'description': 'Rankings by revenue, profit, and growth within sector and region.'}}}
get_company_sanctions
Get sanctions listing (MSWiA)
Official MSWiA sanctions listing for one company. Returns measures and legal grounds when the company is listed; null when it is not. Matched by KRS, NIP, or REGON. The same payload is included on get_company as sanctions.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number.'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'sanctions': {'type': 'object', 'description': 'Sanctions entries for this company, or null when it is not listed.'}}}
get_company_stock_market
Get Warsaw Stock Exchange Data (GPW)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for GPW).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'market': {'type': 'string', 'description': 'GPW Main Market or NewConnect.'}, 'ticker': {'type': 'string', 'description': 'Stock ticker symbol.'}, 'profile': {'type': 'object', 'description': 'Listed company stock and market data.'}}}
get_company_waste_registry
Get Waste Management Registry (BDO)
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number (preferred for BDO).'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown.'}}}
出力スキーマ
{'type': 'object', 'properties': {'entries': {'type': 'array', 'description': 'BDO waste management registry registration and activity scopes.'}}}
get_financials
Get Full Financial Statements
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number.'}, 'nip': {'type': 'string', 'description': 'NIP tax number.'}, 'name': {'type': 'string', 'description': 'Company name when KRS/NIP is unknown (legal-form suffix optional).'}, 'year_to': {'type': 'integer', 'description': 'Latest fiscal year to include (e.g. 2023).'}, 'year_from': {'type': 'integer', 'description': 'Earliest fiscal year to include (e.g. 2019).'}}}
出力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS number of the company.'}, 'nip': {'type': 'string', 'description': 'NIP number of the company.'}, 'financials': {'type': 'array', 'description': 'Historical financial statements with full balance sheet and P&L line items.'}}}
get_financial_stats
Get Sector Financial Statistics
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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'metric': {'enum': ['revenue_total', 'profit_net', 'total_assets', 'cost_wages'], 'type': 'string', 'description': 'Financial metric. Omit to return all metrics.'}, 'currency': {'enum': ['PLN', 'EUR', 'USD'], 'type': 'string', 'description': 'Currency (default: PLN). cost_wages is PLN-only.'}, 'dimension_key': {'type': 'string', 'description': "Key for the dimension, e.g. 'PL', 'G', '46', '46.90.Z', 'mazowieckie'. Prefix match applied."}, 'dimension_type': {'enum': ['country', 'pkd_section', 'pkd_division', 'pkd_class', 'pkd_full', 'region', 'county', 'city'], 'type': 'string', 'description': "Granularity: 'country'=Poland; 'pkd_section'=A–U; 'pkd_division'=2-digit; 'pkd_full'=full code; 'region'=voivodeship; etc."}}}
出力スキーマ
{'type': 'object', 'properties': {'stats': {'type': 'object', 'description': 'Aggregated sector benchmark statistics (averages, medians, percentiles).'}}}
get_plan
Get Current Subscription Plan
Get the user's active billing plan details — plan name, price, status, limits, prepaid credit balance, and billing period reset date.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['plan'], 'properties': {'plan': {'type': 'object', 'description': 'Current plan details and features.'}}}
get_usage
Get Account Usage & Quota
Get current billing period usage and remaining quota — mcp_queries, api_requests, export_companies, ask_ai_credits, watchlist_companies. Includes limits and reset date.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['usage'], 'properties': {'usage': {'type': 'object', 'description': 'Monthly queries used, limit, and remaining quota.'}}}
list_api_keys
List REST API Keys
List all active REST API keys (cb_…) for the user's account. Returns id, name, key_prefix, created_at, last_used_at.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['api_keys'], 'properties': {'api_keys': {'type': 'array', 'description': 'List of active REST API keys.'}}}
list_mcp_keys
List MCP Keys
List all active MCP keys (mcpk_…) for the user's account. Returns id, name, key_prefix, created_at, last_used_at.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['mcp_keys'], 'properties': {'mcp_keys': {'type': 'array', 'description': 'List of active MCP keys.'}}}
list_plans
List Compabase Subscription Plans
List Compabase billing plans and limits. No auth required. After sign-up, use upgrade_plan to get a Stripe Checkout URL.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {}}
出力スキーマ
{'type': 'object', 'required': ['plans', 'message'], 'properties': {'plans': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Plan identifier (free, pro, scale).'}, 'allow_byok': {'type': 'boolean', 'description': 'Whether Bring-Your-Own-Key is enabled.'}, 'description': {'type': 'string', 'description': 'Plan description.'}, 'display_name': {'type': 'string', 'description': 'Display name of the plan.'}, 'watchlist_limit': {'type': 'number', 'description': 'Maximum watchlist companies.'}, 'is_contact_sales': {'type': 'boolean', 'description': 'Whether contact sales is required.'}, 'api_limit_monthly': {'type': 'number', 'description': 'Monthly REST API quota.'}, 'price_pln_monthly': {'type': 'number', 'description': 'Monthly price in PLN.'}, 'mcp_queries_monthly': {'type': 'number', 'description': 'Monthly MCP query quota.'}, 'export_limit_monthly': {'type': 'number', 'description': 'Monthly export quota.'}, 'ask_ai_credits_monthly': {'type': 'number', 'description': 'Monthly Ask AI credits.'}}}, 'description': 'List of available billing plans with pricing and quotas.'}, 'message': {'type': 'string', 'description': 'Plan guidance.'}}}
list_watchlist
List Watchlist Companies
List companies on the user's watchlist with company data (name, KRS, NIP, revenue, city). Supports pagination via limit/offset.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max results (default: 20, max: 100).'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Pagination offset (default: 0).'}}}
出力スキーマ
{'type': 'object', 'required': ['watchlist'], 'properties': {'watchlist': {'type': 'array', 'description': 'List of tracked companies with monitored change status.'}}}
remove_from_watchlist
Remove Company from Watchlist
Remove a company from the user's watchlist. Identify by KRS or NIP.
破壊的操作あり 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': 'KRS registry number (10 digits, zero-padded).'}, 'nip': {'type': 'string', 'description': 'NIP tax number (10 digits).'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Operation status (removed or not_found).'}}}
request_signup
Request Compabase 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.
外部アクセスあり
入力スキーマ
{'type': 'object', 'required': ['email'], 'properties': {'email': {'type': 'string', 'description': 'User email to create or sign in to a Compabase account.'}, 'client': {'enum': ['cursor', 'claude', 'vscode', 'other'], 'type': 'string', 'description': 'AI client, used to label the generated MCP key.'}, 'locale': {'enum': ['en', 'pl', 'de'], 'type': 'string', 'description': 'Email language (default en).'}}}
出力スキーマ
{'type': 'object', 'required': ['setup_id', 'status', 'email', 'message'], 'properties': {'email': {'type': 'string', 'description': 'Email address being registered.'}, 'client': {'type': 'string', 'description': 'Client identifier passed in request.'}, 'status': {'type': 'string', 'description': 'Current status of the setup session (e.g. pending).'}, 'message': {'type': 'string', 'description': 'Instructions for next steps.'}, 'setup_id': {'type': 'string', 'description': 'Unique session ID for polling signup completion.'}, 'expires_in_minutes': {'type': 'number', 'description': 'Minutes until this setup request expires.'}, 'poll_after_seconds': {'type': 'number', 'description': 'Recommended polling interval in seconds.'}}}
search_companies
Search Polish 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.
読み取り専用 冪等
入力スキーマ
{'type': 'object', 'properties': {'krs': {'type': 'string', 'description': "KRS registry number (10 digits, zero-padded, e.g. '0000028860')."}, 'nip': {'type': 'string', 'description': 'NIP tax number (10 digits, no dashes).'}, 'pkd': {'type': 'string', 'description': "Primary PKD code prefix, e.g. '46.90.Z' or '46'."}, 'city': {'type': 'string', 'description': "City name — KRS records use uppercase, e.g. 'WARSZAWA', 'POZNAŃ'."}, 'name': {'type': 'string', 'description': "Company name fragment (case-insensitive). Matches display name and full KRS name; legal-form suffixes like 'sp. z o.o.' are ignored."}, 'year': {'type': 'integer', 'description': 'Filter to companies whose latest financial_period_to falls within this calendar year (e.g. 2024). Use only for sector/ranking browse — omit when looking up a company by name, KRS, or NIP.'}, 'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results (default: 10, max: 50).'}, 'county': {'type': 'string', 'description': 'County / powiat (lowercase).'}, 'fields': {'enum': ['contacts_only', 'summary', 'full'], 'type': 'string', 'description': 'Response size. Default summary (name, NIP, KRS, location, PKD, latest financials, email/phone/website). contacts_only: name, NIP, KRS, city, email, phone, website. full: every company_search column plus contacts — often too large for MCP clients.'}, 'region': {'type': 'string', 'description': "Voivodeship (lowercase), e.g. 'mazowieckie', 'wielkopolskie'."}, 'all_pkd': {'type': 'string', 'description': "Match any PKD code in the company's activity list (not just primary)."}, 'sort_by': {'enum': ['revenue_total', 'profit_net', 'total_assets', 'profit_operating', 'ebitda', 'capital_total', 'estimated_value'], 'type': 'string', 'description': 'Sort field (default: revenue_total).'}, 'currency': {'enum': ['pln', 'usd', 'eur'], 'type': 'string', 'description': 'Currency for monetary filters. Default: pln.'}, 'sort_dir': {'enum': ['asc', 'desc'], 'type': 'string', 'description': 'Sort direction (default: desc).'}, 'has_email': {'type': 'boolean', 'description': 'true = only companies with email on record. Matching rows include contacts.email. Omit otherwise.'}, 'is_active': {'type': 'boolean', 'description': 'true = active only, false = closed only. Omit for all.'}, 'ebitda_max': {'type': 'number', 'description': 'Maximum EBITDA.'}, 'ebitda_min': {'type': 'number', 'description': 'Minimum EBITDA.'}, 'legal_form': {'type': 'string', 'description': "Legal form fragment, e.g. 'spółka z o.o.' or 'akcyjna'."}, 'profit_max': {'type': 'number', 'description': 'Maximum net profit.'}, 'profit_min': {'type': 'number', 'description': 'Minimum net profit.'}, 'capital_max': {'type': 'number', 'description': 'Maximum share capital.'}, 'capital_min': {'type': 'number', 'description': 'Minimum share capital.'}, 'has_website': {'type': 'boolean', 'description': 'true = only companies with website on record. Matching rows include contacts.website. Omit otherwise.'}, 'postal_code': {'type': 'string', 'description': "Postal code prefix, e.g. '00-9' or '61-'."}, 'revenue_max': {'type': 'number', 'description': 'Maximum total revenue.'}, 'revenue_min': {'type': 'number', 'description': 'Minimum total revenue.'}, 'total_assets_max': {'type': 'number', 'description': 'Maximum total assets.'}, 'total_assets_min': {'type': 'number', 'description': 'Minimum total assets.'}, 'estimated_value_max': {'type': 'number', 'description': 'Maximum Ohlson estimated equity value in PLN.'}, 'estimated_value_min': {'type': 'number', 'description': 'Minimum Ohlson estimated equity value in PLN.'}, 'profit_operating_max': {'type': 'number', 'description': 'Maximum operating profit (PLN). Omit if unused.'}, 'profit_operating_min': {'type': 'number', 'description': 'Minimum operating profit (PLN). Negative allowed. Omit if unused.'}}}
出力スキーマ
{'type': 'object', 'required': ['results'], 'properties': {'hint': {'type': 'string', 'description': 'Optional guidance regarding filters or CEIDG coverage.'}, 'total': {'type': 'number', 'description': 'Estimated or exact total count of matches.'}, 'results': {'type': 'array', 'description': 'List of matching company records.'}}}
set_byok_key
Set Bring-Your-Own-Key Provider
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.…).
冪等
入力スキーマ
{'type': 'object', 'required': ['provider', 'api_key'], 'properties': {'api_key': {'type': 'string', 'description': 'Raw API key for the provider.'}, 'provider': {'enum': ['openai', 'claude', 'gemini'], 'type': 'string', 'description': 'AI provider name.'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Provider key setup status.'}}}
set_notification_preferences
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.).
冪等
入力スキーマ
{'type': 'object', 'required': ['action'], 'properties': {'action': {'enum': ['get', 'set'], 'type': 'string', 'description': "'get' returns current preferences, 'set' updates them."}, 'notification_email': {'type': 'string', 'description': 'Override email address for notifications. Omit to use account email.'}, 'email_notifications': {'type': 'boolean', 'description': "Enable/disable email notifications for watchlist changes (required for 'set')."}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Preference update status.'}}}
set_webhook_url
Configure Webhook URL
Configure, view, or remove webhook for watchlist event notifications. Events: watchlist.company_changed, watchlist.financials_updated, watchlist.company_removed_from_registry.
冪等
入力スキーマ
{'type': 'object', 'required': ['action'], 'properties': {'url': {'type': 'string', 'description': 'HTTPS webhook endpoint URL (required for action=set).'}, 'action': {'enum': ['get', 'set', 'delete'], 'type': 'string', 'description': "Action: 'get' to view config, 'set' to configure, 'delete' to remove."}, 'events': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Event types to subscribe to. Defaults to all available events.'}}}
出力スキーマ
{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'description': 'Webhook configuration status.'}}}
upgrade_plan
Upgrade Subscription 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.
外部アクセスあり
入力スキーマ
{'type': 'object', 'properties': {'locale': {'enum': ['en', 'pl', 'de'], 'type': 'string', 'description': 'UI locale for the success/cancel return URLs (default en).'}, 'plan_id': {'enum': ['pro', 'scale'], 'type': 'string', 'description': 'Target plan ID. Required to create a Stripe Checkout URL.'}, 'currency': {'enum': ['PLN', 'USD', 'EUR'], 'type': 'string', 'description': 'Checkout currency. Defaults from locale (pl → PLN, otherwise USD).'}}}
出力スキーマ
{'type': 'object', 'required': ['checkout_url'], 'properties': {'checkout_url': {'type': 'string', 'description': 'Stripe Checkout URL to complete subscription purchase.'}}}
追加
get_company_sanctions
2026年9月27日2:44
追加
set_notification_preferences
2026年9月17日12:41
追加
add_watchlist_batch
2026年9月17日12:41
追加
delete_byok_key
2026年9月17日12:41
追加
set_byok_key
2026年9月17日12:41
追加
get_byok_keys
2026年9月17日12:41
追加
set_webhook_url
2026年9月17日12:41
追加
upgrade_plan
2026年9月17日12:41
追加
export_companies
2026年9月17日12:41
追加
delete_mcp_key
2026年9月17日12:41
追加
create_mcp_key
2026年9月17日12:41
追加
list_mcp_keys
2026年9月17日12:41
追加
delete_api_key
2026年9月17日12:41
追加
create_api_key
2026年9月17日12:41
追加
list_api_keys
2026年9月17日12:41
追加
remove_from_watchlist
2026年9月17日12:41
追加
add_to_watchlist
2026年9月17日12:41
追加
list_watchlist
2026年9月17日12:41
追加
get_plan
2026年9月17日12:41
追加
get_usage
2026年9月17日12:41
追加
get_company_articles
2026年9月17日12:41
追加
get_company_beneficiaries
2026年9月17日12:41
追加
get_company_debt_registry
2026年9月17日12:41
追加
get_company_court_gazette
2026年9月17日12:41
追加
get_company_eu_tenders
2026年9月17日12:41
追加
get_company_stock_market
2026年9月17日12:41
追加
get_company_waste_registry
2026年9月17日12:41
追加
get_company_energy_licenses
2026年9月17日12:41
追加
get_company_public_tenders
2026年9月17日12:41
追加
get_company_procurement
2026年9月17日12:41