Compabase

MCP server for 3M+ Polish companies — KRS & CEIDG financials, ownership, and industry search.

사용해야 할까요

품질 및 안전성

A
설명 품질
99%
스키마 완전성
84%
이름 품질
99%
오염 위험
100%
권한 일치
90%
프로토콜 준수
100%

발견 사항 (1)

  • LOWTool 'set_webhook_url' suggests web access but openWorldHint=falseset_webhook_url에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~10,826토큰 (도구 정의)
~1.8 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 8.46%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "compabase": {
      "url": "https://compabase.com/api/mcp"
    }
  }
}

원격 엔드포인트

https://compabase.com/api/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (43)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢request_signup(email, locale, client)

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",
  "properties": {
    "email": {
      "type": "string",
      "description": "User email to create or sign in to a Compabase account."
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "pl",
        "de"
      ],
      "description": "Email language (default en)."
    },
    "client": {
      "type": "string",
      "enum": [
        "cursor",
        "claude",
        "vscode",
        "other"
      ],
      "description": "AI client, used to label the generated MCP key."
    }
  },
  "required": [
    "email"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "setup_id": {
      "type": "string",
      "description": "Unique session ID for polling signup completion."
    },
    "status": {
      "type": "string",
      "description": "Current status of the setup session (e.g. pending)."
    },
    "email": {
      "type": "string",
      "description": "Email address being registered."
    },
    "expires_in_minutes": {
      "type": "number",
      "description": "Minutes until this setup request expires."
    },
    "poll_after_seconds": {
      "type": "number",
      "description": "Recommended polling interval in seconds."
    },
    "message": {
      "type": "string",
      "description": "Instructions for next steps."
    },
    "client": {
      "type": "string",
      "description": "Client identifier passed in request."
    }
  },
  "required": [
    "setup_id",
    "status",
    "email",
    "message"
  ]
}
🟡check_signup(setup_id, client)

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",
  "properties": {
    "setup_id": {
      "type": "string",
      "description": "setup_id from request_signup."
    },
    "client": {
      "type": "string",
      "enum": [
        "cursor",
        "claude",
        "vscode",
        "other"
      ],
      "description": "Optional client hint for the key name."
    }
  },
  "required": [
    "setup_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Setup session status: pending, ready, expired, already_delivered, or not_found."
    },
    "email": {
      "type": "string",
      "description": "User email address if confirmed."
    },
    "mcp_key": {
      "type": "string",
      "description": "Generated Compabase MCP key (mcpk_...)."
    },
    "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."
    },
    "message": {
      "type": "string",
      "description": "Status message or next step guidance."
    }
  },
  "required": [
    "status",
    "message"
  ]
}
🟢list_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",
  "properties": {
    "plans": {
      "type": "array",
      "description": "List of available billing plans with pricing and quotas.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Plan identifier (free, pro, scale)."
          },
          "display_name": {
            "type": "string",
            "description": "Display name of the plan."
          },
          "description": {
            "type": "string",
            "description": "Plan description."
          },
          "price_pln_monthly": {
            "type": "number",
            "description": "Monthly price in PLN."
          },
          "export_limit_monthly": {
            "type": "number",
            "description": "Monthly export quota."
          },
          "api_limit_monthly": {
            "type": "number",
            "description": "Monthly REST API quota."
          },
          "ask_ai_credits_monthly": {
            "type": "number",
            "description": "Monthly Ask AI credits."
          },
          "watchlist_limit": {
            "type": "number",
            "description": "Maximum watchlist companies."
          },
          "mcp_queries_monthly": {
            "type": "number",
            "description": "Monthly MCP query quota."
          },
          "allow_byok": {
            "type": "boolean",
            "description": "Whether Bring-Your-Own-Key is enabled."
          },
          "is_contact_sales": {
            "type": "boolean",
            "description": "Whether contact sales is required."
          }
        }
      }
    },
    "message": {
      "type": "string",
      "description": "Plan guidance."
    }
  },
  "required": [
    "plans",
    "message"
  ]
}
🟢search_companies(name, krs, nip, city, county, ...)

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": {
    "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."
    },
    "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)."
    },
    "city": {
      "type": "string",
      "description": "City name — KRS records use uppercase, e.g. 'WARSZAWA', 'POZNAŃ'."
    },
    "county": {
      "type": "string",
      "description": "County / powiat (lowercase)."
    },
    "region": {
      "type": "string",
      "description": "Voivodeship (lowercase), e.g. 'mazowieckie', 'wielkopolskie'."
    },
    "postal_code": {
      "type": "string",
      "description": "Postal code prefix, e.g. '00-9' or '61-'."
    },
    "pkd": {
      "type": "string",
      "description": "Primary PKD code prefix, e.g. '46.90.Z' or '46'."
    },
    "all_pkd": {
      "type": "string",
      "description": "Match any PKD code in the company's activity list (not just primary)."
    },
    "legal_form": {
      "type": "string",
      "description": "Legal form fragment, e.g. 'spółka z o.o.' or 'akcyjna'."
    },
    "currency": {
      "type": "string",
      "enum": [
        "pln",
        "usd",
        "eur"
      ],
      "description": "Currency for monetary filters. Default: pln."
    },
    "revenue_min": {
      "type": "number",
      "description": "Minimum total revenue."
    },
    "revenue_max": {
      "type": "number",
      "description": "Maximum total revenue."
    },
    "profit_min": {
      "type": "number",
      "description": "Minimum net profit."
    },
    "profit_max": {
      "type": "number",
      "description": "Maximum net profit."
    },
    "profit_operating_min": {
      "type": "number",
      "description": "Minimum operating profit (PLN). Negative allowed. Omit if unused."
    },
    "profit_operating_max": {
      "type": "number",
      "description": "Maximum operating profit (PLN). Omit if unused."
    },
    "total_assets_min": {
      "type": "number",
      "description": "Minimum total assets."
    },
    "total_assets_max": {
      "type": "number",
      "description": "Maximum total assets."
    },
    "ebitda_min": {
      "type": "number",
      "description": "Minimum EBITDA."
    },
    "ebitda_max": {
      "type": "number",
      "description": "Maximum EBITDA."
    },
    "capital_min": {
      "type": "number",
      "description": "Minimum share capital."
    },
    "capital_max": {
      "type": "number",
      "description": "Maximum share capital."
    },
    "estimated_value_min": {
      "type": "number",
      "description": "Minimum Ohlson estimated equity value in PLN."
    },
    "estimated_value_max": {
      "type": "number",
      "description": "Maximum Ohlson estimated equity value in PLN."
    },
    "is_active": {
      "type": "boolean",
      "description": "true = active only, false = closed only. Omit for all."
    },
    "has_email": {
      "type": "boolean",
      "description": "true = only companies with email on record. Matching rows include contacts.email. Omit otherwise."
    },
    "has_website": {
      "type": "boolean",
      "description": "true = only companies with website on record. Matching rows include contacts.website. Omit otherwise."
    },
    "sort_by": {
      "type": "string",
      "enum": [
        "revenue_total",
        "profit_net",
        "total_assets",
        "profit_operating",
        "ebitda",
        "capital_total",
        "estimated_value"
      ],
      "description": "Sort field (default: revenue_total)."
    },
    "sort_dir": {
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ],
      "description": "Sort direction (default: desc)."
    },
    "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",
      "minimum": 1,
      "maximum": 50,
      "description": "Max results (default: 10, max: 50)."
    },
    "fields": {
      "type": "string",
      "enum": [
        "contacts_only",
        "summary",
        "full"
      ],
      "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."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "description": "List of matching company records."
    },
    "total": {
      "type": "number",
      "description": "Estimated or exact total count of matches."
    },
    "hint": {
      "type": "string",
      "description": "Optional guidance regarding filters or CEIDG coverage."
    }
  },
  "required": [
    "results"
  ]
}
🟢get_company(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown (legal-form suffix optional)."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number (10 digits, zero-padded)."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (10 digits, dashes 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_financials(name, krs, nip, year_from, year_to)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown (legal-form suffix optional)."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number."
    },
    "year_from": {
      "type": "integer",
      "description": "Earliest fiscal year to include (e.g. 2019)."
    },
    "year_to": {
      "type": "integer",
      "description": "Latest fiscal year to include (e.g. 2023)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "financials": {
      "type": "array",
      "description": "Historical financial statements with full balance sheet and P&L line items."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company."
    },
    "nip": {
      "type": "string",
      "description": "NIP number of the company."
    }
  }
}
🟢get_company_people(name, krs, nip, relationship_type)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown (legal-form suffix optional)."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number."
    },
    "relationship_type": {
      "type": "string",
      "description": "Filter: management, supervisory (rada nadzorcza), ownership, procuration. Omit for all."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "people": {
      "type": "array",
      "description": "List of associated persons (board, supervisory, shareholders, proxies)."
    },
    "krs": {
      "type": "string",
      "description": "KRS number of the company."
    }
  }
}
🟢count_companies(name, krs, nip, city, county, ...)

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": {
    "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."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number."
    },
    "city": {
      "type": "string",
      "description": "City name — KRS uses uppercase."
    },
    "county": {
      "type": "string",
      "description": "County / powiat (lowercase)."
    },
    "region": {
      "type": "string",
      "description": "Voivodeship (lowercase)."
    },
    "pkd": {
      "type": "string",
      "description": "Primary PKD code prefix, e.g. '46.90.Z' or '46'."
    },
    "all_pkd": {
      "type": "string",
      "description": "Match any PKD code in the company's activity list (not just primary)."
    },
    "legal_form": {
      "type": "string",
      "description": "Legal form fragment."
    },
    "revenue_min": {
      "type": "number",
      "description": "Minimum total revenue in PLN."
    },
    "revenue_max": {
      "type": "number",
      "description": "Maximum total revenue in PLN."
    },
    "profit_min": {
      "type": "number",
      "description": "Minimum net profit in PLN."
    },
    "profit_max": {
      "type": "number",
      "description": "Maximum net profit in PLN."
    },
    "profit_operating_min": {
      "type": "number",
      "description": "Minimum operating profit in PLN."
    },
    "profit_operating_max": {
      "type": "number",
      "description": "Maximum operating profit in PLN."
    },
    "total_assets_min": {
      "type": "number",
      "description": "Minimum total assets in PLN."
    },
    "total_assets_max": {
      "type": "number",
      "description": "Maximum total assets in PLN."
    },
    "ebitda_min": {
      "type": "number",
      "description": "Minimum EBITDA in PLN."
    },
    "ebitda_max": {
      "type": "number",
      "description": "Maximum EBITDA in PLN."
    },
    "capital_min": {
      "type": "number",
      "description": "Minimum share capital in PLN."
    },
    "capital_max": {
      "type": "number",
      "description": "Maximum share capital in PLN."
    },
    "estimated_value_min": {
      "type": "number",
      "description": "Minimum Ohlson estimated equity value in PLN."
    },
    "estimated_value_max": {
      "type": "number",
      "description": "Maximum Ohlson estimated equity value in PLN."
    },
    "is_active": {
      "type": "boolean",
      "description": "true = active only, false = closed only. Omit for all."
    },
    "has_email": {
      "type": "boolean",
      "description": "true = only companies with email on record. Omit otherwise."
    },
    "has_website": {
      "type": "boolean",
      "description": "true = only companies with website on record. Omit otherwise."
    },
    "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."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "count": {
      "type": "number",
      "description": "Total count of KRS companies matching filters."
    },
    "hint": {
      "type": "string",
      "description": "Optional guidance regarding filters or CEIDG."
    }
  },
  "required": [
    "count"
  ]
}
🟢execute_sql(query)

Execute a read-only SQL SELECT query against the Compabase database. Use when dedicated tools are not enough (aggregations, joins, custom analysis).

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A read-only SQL SELECT or WITH…SELECT statement."
    }
  },
  "required": [
    "query"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "rows": {
      "type": "array",
      "description": "Result rows from the read-only query."
    },
    "rowCount": {
      "type": "number",
      "description": "Number of rows returned."
    }
  },
  "required": [
    "rows"
  ]
}
🟢get_company_rankings(name, krs, nip, scope_type)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number (10 digits, zero-padded)."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (10 digits, dashes optional)."
    },
    "scope_type": {
      "type": "string",
      "enum": [
        "pkd_full",
        "pkd_division",
        "pkd_section",
        "region",
        "country"
      ],
      "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_financial_stats(dimension_type, dimension_key, metric, currency)

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": {
    "dimension_type": {
      "type": "string",
      "enum": [
        "country",
        "pkd_section",
        "pkd_division",
        "pkd_class",
        "pkd_full",
        "region",
        "county",
        "city"
      ],
      "description": "Granularity: 'country'=Poland; 'pkd_section'=A–U; 'pkd_division'=2-digit; 'pkd_full'=full code; 'region'=voivodeship; etc."
    },
    "dimension_key": {
      "type": "string",
      "description": "Key for the dimension, e.g. 'PL', 'G', '46', '46.90.Z', 'mazowieckie'. Prefix match applied."
    },
    "metric": {
      "type": "string",
      "enum": [
        "revenue_total",
        "profit_net",
        "total_assets",
        "cost_wages"
      ],
      "description": "Financial metric. Omit to return all metrics."
    },
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "EUR",
        "USD"
      ],
      "description": "Currency (default: PLN). cost_wages is PLN-only."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "stats": {
      "type": "object",
      "description": "Aggregated sector benchmark statistics (averages, medians, percentiles)."
    }
  }
}
🟢get_company_public_aid(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for SUDOP)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "aid_records": {
      "type": "array",
      "description": "Records of de minimis and state public aid granted to company."
    }
  }
}
🟢get_company_eu_funds(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for FE)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "projects": {
      "type": "array",
      "description": "EU-funded projects and subsidies co-financed by European funds."
    }
  }
}
🟢get_company_procurement(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for FTS)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "contracts": {
      "type": "array",
      "description": "Public procurement tenders won by the company."
    }
  }
}
🟢get_company_public_tenders(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for BZP)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "notices": {
      "type": "array",
      "description": "Public procurement bulletin tender announcements and contract awards."
    }
  }
}
🟢get_company_energy_licenses(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for URE)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "concessions": {
      "type": "array",
      "description": "Energy regulator concessions and electricity/gas trade licenses."
    }
  }
}
🟢get_company_waste_registry(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for BDO)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "description": "BDO waste management registry registration and activity scopes."
    }
  }
}
🟢get_company_stock_market(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for GPW)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "Stock ticker symbol."
    },
    "market": {
      "type": "string",
      "description": "GPW Main Market or NewConnect."
    },
    "profile": {
      "type": "object",
      "description": "Listed company stock and market data."
    }
  }
}
🟢get_company_eu_tenders(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (preferred for TED)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "tenders": {
      "type": "array",
      "description": "High-value public procurement notices published on Tenders Electronic Daily."
    }
  }
}
🟢get_company_court_gazette(name, krs, nip)

Get Court and Commercial Gazette (MSiG) notices for one company. Matched by KRS or NIP (creditor calls, dissolution, mergers, liquidation).

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP (CEIDG / when KRS unknown)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "entries": {
      "type": "array",
      "description": "Official announcements published in Monitor Sądowy i Gospodarczy."
    }
  }
}
🟢get_company_sanctions(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "sanctions": {
      "type": "object",
      "description": "Sanctions entries for this company, or null when it is not listed."
    }
  }
}
🟢get_company_debt_registry(name, krs, nip)

Get KRZ insolvency / restructuring proceedings. KRS companies via company_krz; sole proprietors via CEIDG KRZ by NIP.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP (CEIDG / when KRS unknown)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "proceedings": {
      "type": "array",
      "description": "Insolvency, restructuring, and bankruptcy proceedings on record in KRZ."
    }
  }
}
🟢get_company_beneficiaries(name, krs, nip)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number (required path for CRBR)."
    },
    "nip": {
      "type": "string",
      "description": "NIP — used to resolve KRS when needed."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "beneficiaries": {
      "type": "array",
      "description": "Registered Ultimate Beneficial Owners (UBO) from CRBR."
    }
  }
}
🟢get_company_articles(name, krs, nip, doc_id)

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": {
    "name": {
      "type": "string",
      "description": "Company name when KRS/NIP is unknown."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number."
    },
    "nip": {
      "type": "string",
      "description": "NIP — used to resolve KRS when needed."
    },
    "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_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.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "usage": {
      "type": "object",
      "description": "Monthly queries used, limit, and remaining quota."
    }
  },
  "required": [
    "usage"
  ]
}
🟢get_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",
  "properties": {
    "plan": {
      "type": "object",
      "description": "Current plan details and features."
    }
  },
  "required": [
    "plan"
  ]
}
🟢list_watchlist(limit, offset)

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",
      "minimum": 1,
      "maximum": 100,
      "description": "Max results (default: 20, max: 100)."
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "description": "Pagination offset (default: 0)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "watchlist": {
      "type": "array",
      "description": "List of tracked companies with monitored change status."
    }
  },
  "required": [
    "watchlist"
  ]
}
🟡add_to_watchlist(krs, nip)

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",
  "properties": {
    "status": {
      "type": "string",
      "description": "Operation status (added or already_watched)."
    },
    "company": {
      "type": "object",
      "description": "Watchlist entry created."
    }
  },
  "required": [
    "status"
  ]
}
🔴remove_from_watchlist(krs, nip)

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",
  "properties": {
    "status": {
      "type": "string",
      "description": "Operation status (removed or not_found)."
    }
  },
  "required": [
    "status"
  ]
}
🟢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.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "api_keys": {
      "type": "array",
      "description": "List of active REST API keys."
    }
  },
  "required": [
    "api_keys"
  ]
}
🟡create_api_key(name)

Create a new REST API key (cb_…). The raw key is returned once and cannot be retrieved later.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Human-readable label for the key (max 100 chars)."
    }
  },
  "required": [
    "name"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "api_key": {
      "type": "string",
      "description": "Newly generated REST API key."
    },
    "name": {
      "type": "string",
      "description": "Label assigned to key."
    }
  },
  "required": [
    "api_key"
  ]
}
🔴delete_api_key(key_id)

Revoke (deactivate) a REST API key by its ID. The key stops working immediately.

입력 스키마

{
  "type": "object",
  "properties": {
    "key_id": {
      "type": "string",
      "description": "UUID of the API key to revoke (from list_api_keys)."
    }
  },
  "required": [
    "key_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Result status of revocation."
    }
  },
  "required": [
    "status"
  ]
}
🟢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",
  "properties": {
    "mcp_keys": {
      "type": "array",
      "description": "List of active MCP keys."
    }
  },
  "required": [
    "mcp_keys"
  ]
}
🟡create_mcp_key(name)

Create a new MCP key (mcpk_…). The raw key is returned once and cannot be retrieved later.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Human-readable label for the key (max 100 chars)."
    }
  },
  "required": [
    "name"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "mcp_key": {
      "type": "string",
      "description": "Newly generated MCP key (mcpk_...)."
    },
    "name": {
      "type": "string",
      "description": "Key name."
    }
  },
  "required": [
    "mcp_key"
  ]
}
🔴delete_mcp_key(key_id)

Revoke (deactivate) an MCP key by its ID. Cannot revoke the key currently in use. The key stops working immediately.

입력 스키마

{
  "type": "object",
  "properties": {
    "key_id": {
      "type": "string",
      "description": "UUID of the MCP key to revoke (from list_mcp_keys)."
    }
  },
  "required": [
    "key_id"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Result status of revocation."
    }
  },
  "required": [
    "status"
  ]
}
🟢export_companies(name, krs, nip, city, county, ...)

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": {
    "name": {
      "type": "string",
      "description": "Company name fragment (case-insensitive)."
    },
    "krs": {
      "type": "string",
      "description": "KRS registry number (exports that one company)."
    },
    "nip": {
      "type": "string",
      "description": "NIP tax number (exports matching companies)."
    },
    "city": {
      "type": "string",
      "description": "City name."
    },
    "county": {
      "type": "string",
      "description": "County / powiat (lowercase). Same filter as search_companies / count_companies."
    },
    "region": {
      "type": "string",
      "description": "Voivodeship (e.g. mazowieckie)."
    },
    "pkd": {
      "type": "string",
      "description": "Primary PKD code prefix, e.g. '80.10', '80.10.Z', or '80' (same prefix matching as search_companies)."
    },
    "all_pkd": {
      "type": "string",
      "description": "Match any PKD code in the company's activity list (not just primary)."
    },
    "revenue_min": {
      "type": "number",
      "description": "Minimum total revenue."
    },
    "revenue_max": {
      "type": "number",
      "description": "Maximum total revenue."
    },
    "is_active": {
      "type": "boolean",
      "description": "true = active companies only."
    },
    "format": {
      "type": "string",
      "enum": [
        "csv",
        "xlsx",
        "json"
      ],
      "description": "Export format (default: csv). Column set follows `fields` (contacts_only by default)."
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "pl",
        "de"
      ],
      "description": "Column/label language (default: en)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Max rows to export (default: 50, max: 500)."
    },
    "fields": {
      "type": "string",
      "enum": [
        "contacts_only",
        "summary",
        "full"
      ],
      "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."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "download_url": {
      "type": "string",
      "description": "Direct download URL for generated CSV file."
    },
    "count": {
      "type": "number",
      "description": "Number of records exported."
    }
  },
  "required": [
    "download_url"
  ]
}
🟡upgrade_plan(plan_id, locale, currency)

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": {
    "plan_id": {
      "type": "string",
      "enum": [
        "pro",
        "scale"
      ],
      "description": "Target plan ID. Required to create a Stripe Checkout URL."
    },
    "locale": {
      "type": "string",
      "enum": [
        "en",
        "pl",
        "de"
      ],
      "description": "UI locale for the success/cancel return URLs (default en)."
    },
    "currency": {
      "type": "string",
      "enum": [
        "PLN",
        "USD",
        "EUR"
      ],
      "description": "Checkout currency. Defaults from locale (pl → PLN, otherwise USD)."
    }
  }
}

출력 스키마

{
  "type": "object",
  "properties": {
    "checkout_url": {
      "type": "string",
      "description": "Stripe Checkout URL to complete subscription purchase."
    }
  },
  "required": [
    "checkout_url"
  ]
}
🔴set_webhook_url(action, url, events)

Configure, view, or remove webhook for watchlist event notifications. Events: watchlist.company_changed, watchlist.financials_updated, watchlist.company_removed_from_registry.

입력 스키마

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "get",
        "set",
        "delete"
      ],
      "description": "Action: 'get' to view config, 'set' to configure, 'delete' to remove."
    },
    "url": {
      "type": "string",
      "description": "HTTPS webhook endpoint URL (required for action=set)."
    },
    "events": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Event types to subscribe to. Defaults to all available events."
    }
  },
  "required": [
    "action"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Webhook configuration status."
    }
  },
  "required": [
    "status"
  ]
}
🟢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.

입력 스키마

{
  "type": "object",
  "properties": {}
}

출력 스키마

{
  "type": "object",
  "properties": {
    "providers": {
      "type": "array",
      "description": "Configured AI provider keys."
    }
  }
}
🟡set_byok_key(provider, api_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.…).

입력 스키마

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "enum": [
        "openai",
        "claude",
        "gemini"
      ],
      "description": "AI provider name."
    },
    "api_key": {
      "type": "string",
      "description": "Raw API key for the provider."
    }
  },
  "required": [
    "provider",
    "api_key"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Provider key setup status."
    }
  },
  "required": [
    "status"
  ]
}
🔴delete_byok_key(provider)

Remove a configured BYOK provider key. After removal, the platform falls back to its own model access.

입력 스키마

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string",
      "enum": [
        "openai",
        "claude",
        "gemini"
      ],
      "description": "Provider to remove key for."
    }
  },
  "required": [
    "provider"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Removal status."
    }
  },
  "required": [
    "status"
  ]
}
🟡add_watchlist_batch(identifiers)

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",
  "properties": {
    "identifiers": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of KRS numbers (10 digits) or NIP numbers (10 digits)."
    }
  },
  "required": [
    "identifiers"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "added": {
      "type": "number",
      "description": "Number of companies successfully added."
    },
    "total": {
      "type": "number",
      "description": "Total requested companies."
    }
  },
  "required": [
    "added",
    "total"
  ]
}
🟡set_notification_preferences(action, email_notifications, notification_email)

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",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "get",
        "set"
      ],
      "description": "'get' returns current preferences, 'set' updates them."
    },
    "email_notifications": {
      "type": "boolean",
      "description": "Enable/disable email notifications for watchlist changes (required for 'set')."
    },
    "notification_email": {
      "type": "string",
      "description": "Override email address for notifications. Omit to use account email."
    }
  },
  "required": [
    "action"
  ]
}

출력 스키마

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "description": "Preference update status."
    }
  },
  "required": [
    "status"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 43개
검증됨버전이 기록되지 않음도구 42개
검증됨버전이 기록되지 않음도구 42개