account_status
ChatGPTCheck the current API key's remaining credit balance and subscription status. Use this when the user asks how many credits or requests they have left, or wants to know their plan/tier before running more queries — 'how many credits do I have left', 'wie viele Credits habe ich noch', 'was ist mein Guthaben', 'what's my plan'. Costs 0 credits. credit_balance carries over indefinitely and is independent of subscription — it never expires or resets at subscription.current_period_end. Internal/admin tokens have no tracked balance or subscription: unlimited: true, subscription: null.
company_profile
ChatGPTGet the full profile of a single German company. Use this when the user asks about one company by name, USt-ID, LEI, HR-Nummer or website — 'Erzähl mir von SAP', 'Profil von Deutsche Bahn', 'Was macht Firma X', 'Show me company Y'. The tool resolves the identifier to an Implisense company and returns master data, financials, and people in one call — no need to chain a search step first. Provide at least one of: name, vat, lei, hr_court+hr_type+ hr_number, url, email, query. Strong identifiers (vat, lei, hr_*) win over name. Use city together with name to disambiguate ('Müller GmbH' in Berlin vs Munich). Returns {"company": <Company|null>, "meta": {...}}. If nothing matches, or several companies match equally well, company is null and meta.message explains why — meta.candidates then lists them, so re-call with city or a stronger identifier. On a hit meta.confidence is high/medium/low; low means the name only matched fuzzily — say so rather than asserting it. Example: {"name": "Deutsche Bahn", "include": "people,financials"}
find_contacts
ChatGPTFind decision makers at one company for given roles, with sources. Use this when the user asks who to contact at a company — 'Wer ist Einkaufsleiter bei X?', 'Ansprechpartner Marketing bei Y', 'who runs IT at Z'. Returns name, title, email/phone/LinkedIn where published, and the URLs that prove each person. Costs 3 credits; refunded on failure. Takes about a minute. If not done within ~20 s, returns a job_id: call get_contact_results later.
get_contact_results
ChatGPTGet the result of a contact search started with find_contacts. Free. While status is 'running', wait ~30 s and ask again. Results are deleted one hour after the search finished.
person_network
ChatGPTList every company a person is involved in. Use this for due-diligence and compliance flows — 'In welchen Firmen sitzt Person X im Vorstand?', 'Other companies where Y is a director', 'Map a person's corporate network'. Helpful to surface cross-company ties (same director on multiple boards, hidden ownership chains). Get the person_id from the people sub-resource of company_profile. This tool will NOT resolve a name to an ID on its own — names are not unique enough. Returns {"person_id": ..., "name": "Dr. X Y", "companies": [...]}. Each company entry has id, name, city, active, and the person's roles in that company. Example: {"person_id": "DEH3NY6CD2SH93P15"}
ping
ChatGPTHealth probe. Returns {"ok": true} if the MCP server is reachable.
portfolio_risk
ChatGPTRisk-flag check for a portfolio of companies. Use this when the user wants a quick health-check across a list of suppliers, customers, or investments — 'Sind unter meinen Lieferanten Risiken?', 'Check this portfolio for warning signs', 'Welche dieser 30 Firmen sind insolvent oder liquidiert?'. Each entry is matched and enriched with risk flags drawn from the master database. Per-company risk fields: - warning_exists — Implisense warning flag (insolvency, deletion, public warning, …) - active — false if dissolved - liquidation_date — set if liquidation has begun - latest_revenue / latest_net_income — most recent year's numbers for trend signal Accepts names or IDs in any mix. Unresolved and ambiguous entries appear with match: null plus the original input, so the caller can prompt the user for a clearer identifier — an ambiguous name is never silently resolved to one company. Example: {"companies": ["Deutsche Bahn AG", "DEYQWR13CZ20", "Wirecard AG"]}
recent_changes
ChatGPTCheck what changed for a company since a given date. Use this when the user asks about news, updates, or changes on a company — 'Was hat sich bei SAP seit Januar getan?', 'Neuigkeiten zur Deutschen Bahn', 'Recent announcements for BMW', 'Has anything changed at company X since Q1?'. Returns both: - master-data modification flag (modified, last_modified_at) - HR-register and IRB announcements published since since First obtain the company id via company_profile or search_companies. Returns {"company_id": ..., "since": ..., "modified": bool, "last_modified_at": iso, "announcements": [...], "meta": {...}}. Example: {"id": "DEYQWR13CZ20", "since": "2026-01-01T00:00:00Z"}
search_companies
ChatGPTSearch German companies by name, free-text query and/or filters. Use this when the user wants a list of candidates rather than one specific company — 'Finde Softwarefirmen in Berlin', 'Welche Maschinenbauer gibt es in NRW', 'Suche Unternehmen die X machen', 'Show me biotech startups in Munich'. For one specific company, use company_profile instead. Mix free-text (query) with structured filters (location, industry, size, min_age/max_age) — they AND together. Empty query + non-empty filters returns top companies by salience within the filter. min_age/max_age are the company age in years (Alter, Firmenalter, Neugründung, Nachfolge); companies without a founding date drop out once either is set. near_lat/near_lon/near_radius_km add a geo box. Returns {"results": [...], "meta": {"total": N, "offset": ...}}. Example: {"query": "Maschinenbau", "location": "state:DE-NW", "size": "MEDIUM,LARGE", "limit": 20}
similar_companies
ChatGPTFind companies similar to one or more seed companies. Use this when the user asks for peers, competitors, or 'companies like X' — 'Wer ist vergleichbar mit SAP?', 'Wettbewerber von BMW', 'Find competitors to OpenAI', 'Show me similar firms to these three'. The tool picks the right underlying algorithm: one seed_id → peers (industry-locked by default); seed_ids (multiple) → centroid similarity. First resolve company names to IDs with company_profile or search_companies. This tool needs Implisense IDs. Returns {"results": [...], "meta": {...}}. Each result has a score (cosine similarity, 0–1). Example single-seed: {"seed_id": "DEYQWR13CZ20"} Example centroid: {"seed_ids": ["DEA...", "DEB...", "DEC..."]}