Dokumentation der API
MCP
Stonewake betreibt einen Endpunkt für das Model Context Protocol (MCP), damit Assistenten mit KI und Agenten Ihren Arbeitsbereich direkt lesen können. Fragen Sie nach dem Portfolio, nach dem Risiko einer Gegenpartei oder danach, wie ein Score zustande kommt, und der Assistent ruft die unten genannten Werkzeuge selbst auf.
Endpoint: https://mcp.stonewake.ai/Der Endpunkt spricht MCP über streamable HTTP. Jede Anfrage steht für sich. Es gibt keine Sitzung zu eröffnen und nichts aufrechtzuerhalten, also verbinden sich gehostete Assistenten und lokale Clients auf dieselbe Weise. Er bedient die Revision 2026-07-28 von MCP, die keinen Handshake braucht, und die früheren Revisionen, die mit initialize eröffnen.
Authentifizierung
Dieselben Schlüssel für die API authentifizieren MCP und die API über REST. Senden Sie Ihren Schlüssel swk_live_ bei jeder Anfrage über MCP als Token vom Typ Bearer (siehe Authentifizierung). MCP liest den Header Authorization genau wie die API über REST. Ohne Schlüssel funktionieren zwei Dinge, das Auflisten der Werkzeuge und das Werkzeug zur Dokumentationssuche. Jedes Werkzeug, das Daten des Arbeitsbereichs liest, verlangt einen Schlüssel.
Aufrufe über MCP werden auf dieselbe Anfragebegrenzung je Schlüssel und dasselbe Tageskontingent je Arbeitsbereich angerechnet wie direkte Aufrufe der API; siehe Fehler und Anfragebegrenzungen.
Die Werkzeuge
Sechsunddreißig lesende Werkzeuge. Alle außer search_stonewake_docs lesen Daten des Arbeitsbereichs und verlangen einen Schlüssel.
Portfolio und Bewertung
portfolio_overview, Statuszählungen für den überwachten Bestand, die Zahl aktiver Engagements, die jüngsten Statusänderungen und die Zahl überfälliger Kreditüberprüfungen; mittransitions_sincewerden zusätzlich die einzelnen Übergänge seit einem Zeitpunkt aufgelistet, jeweils mit den Signalen, die ihn bewegt haben, und dem Registereintrag hinter dem führenden, seitenweise überlimitundoffset, und jedes der beiden allein listet die jüngsten Übergänge jeden Datums.portfolio_book, der überwachte Bestand selbst, eine Zeile je Engagement mit Status, Score, wichtigsten Signalen samt Quellenangaben und geltender Kreditüberprüfung, die schwerwiegendsten zuerst; paginiert, undinclude_inactivenimmt Engagements auf, die nicht mehr aktiv überwacht werden.portfolio_import_preview, Vorschau auf das Hinzufügen eines Bestands von Unternehmen aus Text als CSV; jede Zeile wird allein über ihre Registerkennung zugeordnet und nennt Ergebnis und Grund, seitenweise überlimitundoffset. Es wird nichts geschrieben; siehe Bestandsimport.portfolio_reviews_duelistet die Kreditüberprüfungen, die heute Aufmerksamkeit verlangen, die überfälligen und jene, die in den nächsten zwei Wochen fällig werden, die frühesten zuerst, mit der Zahl der Engagements, die nie überprüft wurden. Siehe Kreditüberprüfungen.exposure_review_historyliest die Historie der Kreditüberprüfungen eines Engagements anhand seinerexposure_id, neueste zuerst, der erste Eintrag ist also die geltende Überprüfung. Seitenweise überlimitundoffset. Verantwortliche und Prüfende werden nicht ausgeliefert.entity_risk_profile, die aktuelle Risikosicht Ihres Teams auf ein Unternehmen anhand seinernode_id, mit jedem bewerteten oder ausgesetzten Signal und dessen Quellenangaben, dazu die Klasse, nach der seine Prüfungen ausgewählt werden, und ob Ihr Team sie gesetzt oder eine Registerregel sie abgeleitet hat.scoring_rubric, die Bewertungskonfiguration hinter den Statusbändern und Scores Ihres Teams sowie die gespeicherten Fassungen des Bewertungsschemas des Teams.sanctions_person_candidatesliest die Prüfkandidaten für die natürlichen Personen, die öffentliche Register mit den Unternehmen im Bestand Ihres Teams verbinden, dem Namen nach und über die Aliasnamen der Liste selbst abgeglichen mit den natürlichen Personen auf den sechs amtlichen Sanktionslisten. Ein Kandidat ist Prüfmaterial und nie ein Treffer. Jeder nennt die Liste, die Listungsnummer, die gelisteten Namen, was übereinstimmt und was eingegrenzt hat, und die amtliche Datei, und sein Status istopenoderconfirmed(eine Analystin oder ein Analyst hat ihn im Dashboard bestätigt, wo die Entscheidungen fallen). Das Ergebnis nennt außerdem inlistsjede Liste mit ihrer Lesart,CheckedoderNot checked, und zählt inlists_not_checkeddie nicht geprüften und inpersons_compareddie abgeglichenen Registerpersonen, daher sagt eine leere Seite nur, dass es unter den abgeglichenen Registerpersonen keinen offenen oder bestätigten Kandidaten gibt, und sie sagt nichts, solangelists_not_checkedgrößer als 0 ist. Verworfene Kandidaten werden nicht ausgeliefert, und eine Person, die kein angebundenes Register mit Ihrem Bestand verbindet, wird nicht abgeglichen. Seitenweise überlimitundoffset. Es antwortet nur in Arbeitsbereichen, in denen Personendaten eingeschaltet sind, und gilt anderswo als nicht gefunden.
Unternehmen
search_companiesfindet ein Unternehmen über Namen oder Kennung (einen LEI, eine Registernummer oderscheme:value); Treffer tragen dienode_id, die die übrigen Unternehmenswerkzeuge entgegennehmen. In Arbeitsbereichen, in denen Personendaten eingeschaltet sind, werden auch die natürlichen Personen gefunden, die die Register nennen, nach allen Unternehmen und nie bewertet.company_profile, der Stammdatensatz eines Verzeichniseintrags aus dem Verzeichnis von Stonewake benannter Marktteilnehmer (Exportkreditagenturen, multilaterale Institutionen, Entwicklungsfinanzierer, Entwicklungsbanken, staatliche Agenturen und Banken, dazu die Fachpublikationen, die Transaktionen zitieren), anhand derentity_id.company_overviewliest ein Unternehmen so, wie es die Netzwerkansicht des Dashboards zeigt, anhand seinernode_id.identitynennt, was die vorliegenden Registereinträge zur Identität des Unternehmens angeben (GLEIF, Companies House, ein Handelsregisterauszug, wo einer abgerufen wurde, SEC EDGAR, das Schweizerische Handelsamtsblatt und der Betreibereintrag im Marktstammdatenregister), in Klartext, jede Angabe mit dem Eintrag, auf den sie sich stützt, und dessenverified_at, wann sein Register ihn zuletzt bestätigt hat, undriskliefert seinen Risikostatus.risk_stateistportfolio, wenn Ihr Team das Unternehmen im Bestand hält,assessed, wenn für Ihr Team eine Einschätzung bei Aufruf erstellt wurde,in_progress, solange eine erstellt wird,not_assessedmit einemrisk_reasonodersole_trader, wenn das Register das Geschäft einer natürlichen Person nennt, das nie bewertet wird. Ein Werkzeugaufruf stößt nie eine Einschätzung an. Mitlocalegleichdekommen die Feldbezeichnungen auf Deutsch.company_financials, jede Finanzkennzahl eines Unternehmens, neueste Berichtsperiode zuerst, jede Zahl mit Angabe ihres Quelleintrags (ein öffentliches Register, ein öffentliches Archiv eingereichter Abschlüsse oder der Jahresfinanzbericht, den der Emittent auf seiner eigenen Website veröffentlicht hat). Eine Zahl mitderivedgleich true steht so nicht im Abschluss. Sie wurde aus zwei Zahlen desselben Abschlusses berechnet, und ihr Feldderivationsagt in einfachen Worten, wie. Eine fehlende Periode bedeutet, dass nichts eingereicht wurde, nicht null.company_events, der Feed der Registerereignisse eines Unternehmens, nach Bedeutung zu Anzeigezeilen gruppiert; zusammenhängende Ereignisse klappen zu einer Sammelzeile zusammen, derengroup_keysie wieder aufklappt.company_financing, die Verschuldungsseite eines Unternehmens, also eingetragene Sicherheiten mit zugeordneten Kreditgebern, notierte Schuldtitel, eingereichte Schuldpositionen, abgeleitete Summen und ein Fälligkeitsprofil, deren Abschnitte sich überbucketaufklappen lassen.ownership_chain, die Eigentümerketten eines Unternehmens nach oben, über Register hinweg zusammengesetzt und Schritt für Schritt belegt;threshold(Vorgabe 25 Prozent) undmax_depth(höchstens 8) begrenzen den Lauf. Natürliche Personen als Eigentümer werden in Arbeitsbereichen genannt, in denen Personendaten eingeschaltet sind.company_networkliefert das Registerumfeld eines Knotens, seine Organe, Gesellschafter und wirtschaftlich Berechtigten, Beteiligungen, Zweigniederlassungen und anderen Registerbeziehungen, jede Kante mit dem Registereintrag, der sie belegt. Dienode_ideines Nachbarn lässt sich genauso aufklappen. Natürliche Personen werden in Arbeitsbereichen ausgeliefert, in denen Personendaten eingeschaltet sind, und anderswo weggelassen.edge_typesbehält die genannten Arten, undlimitbegrenzt die Nachbarn auf 200.company_public_funding, öffentliche Zuschüsse und staatliche Beihilfen, die ein Unternehmen erhalten hat (das EU State aid Transparency Award Module, Kohesio und das Financial Transparency System), jede Zuwendung mit Quellenangabe und über eine Kennung zugeordnet, nie über einen Namen allein, mit Summen je Jahr und je Programm, die nie Beträge unterschiedlicher Grundlage oder Währung addieren. Das Werkzeug liest nur Zuwendungen an Organisationen.company_sector_context, amtliche deutsche Statistik neben einem deutschen Unternehmen, die Zahlen zu Unternehmensinsolvenzen und Unternehmen, die Destatis für seinen WZ 2008 Abschnitt und sein Bundesland veröffentlicht, jede mit Tabellencode, Zeitraum, Abrufzeit, Quelllink und dem Quellenvermerk der Lizenz, der mit ihr zu zeigen ist. Übergeben Sienace, um den Wirtschaftszweig zu nennen, denn kein deutsches Register nennt ihn;missingsagt in einfachen Sätzen, was nicht vorliegt. Nur Kontext, nie Teil einer Bewertung oder eines Status.company_recordsblättert die Registereinträge hinter einem Unternehmen als Belege, neueste zuerst, mit höchstens 25 je Seite. Jede Seite nennt die Zahl der Einträge des Unternehmens und die Anzahl je Register, undconnector_idblättert ein einzelnes Register. Ein Unternehmen, das in einem Wertpapierregister geführt wird, kann über 100.000 Einträge halten, und das Werkzeug gibt nie mehr als eine Seite zurück.company_regional_contextliefert amtliche Regionalstatistik neben einem deutschen Unternehmen, die Tabellen der VGR der Länder für den Kreis (Bruttoinlandsprodukt, Bruttowertschöpfung nach Wirtschaftsbereichen, Erwerbstätige, Einwohner) und die Wohnungszahlen des Zensus 2022 für die Gemeinde und den Kreis (Mieten, Leerstand, Baualter), in denen sein Sitz liegt, sowie die Indikatoren des Regionalatlas für den Kreis (Bevölkerungsbewegung, Gewerbeanmeldungen und Unternehmensinsolvenzen, Arbeitslosigkeit, verfügbares Einkommen), die monatlichen Arbeitsmarktzahlen der Bundesagentur für Arbeit für den Kreis (Arbeitslose und Unterbeschäftigung, die neuesten 13 Monate) und die Tabellen der Regionaldatenbank Deutschland für die Gemeinde und den Kreis (Unternehmensinsolvenzen nach Abschnitten der WZ 2008, die Hebesätze der Grundsteuer und der Gewerbesteuer). Der Sitz ist der Registersitz; nur wenn kein Registerauszug einen nennt, ist es der Sitz aus einer deutschen Insolvenzbekanntmachung, undregion.seat_labelsagt das dann mit dem Datum der Bekanntmachung. Jede Zahl trägt ihre Tabelle, ihren Zeitraum, ihre Abrufzeit, ihren Quelllink und den Quellenvermerk, der mit ihr zu zeigen ist.regionsagt, wie der Sitz seinem amtlichen Schlüssel zugeordnet wurde, nur über einen exakt gleichen Namen, oder warum keine Region bestimmt ist. Nur Kontext, nie Teil einer Bewertung oder eines Status.
Erkenntnisse
screening_lookupliest die Screenings Ihres Teams über Organisationen und Länder, als filterbare Liste oder als vollständigen Lauf anhand derscreening_idmit dem Abgleich gegen die offiziellen Listen, Einstufungen, Feststellungen und Quellen. In Arbeitsbereichen, in denen Personendaten eingeschaltet sind, liest es auch die Screenings natürlicher Personen, nur mit dem Abgleich gegen die offiziellen Listen und ihren belegten Feststellungen samt deren Quellen, nie mit einer Einstufung, einer Bewertung, einer entworfenen Zusammenfassung oder einem Score.deal_bookliest das Deal Book Ihres Teams, jede Zeile mit ihrem Team, als eine zuerst nach dem Fenster geordnete oder, wennsortunddirectiones verlangen, nach einer Spalte in einer der beiden Richtungen geordnete, nach den Facetten vonGET /v1/dealsfilterbare Liste,regioneingeschlossen (die Zeilen, die ein Desk standardmäßig zurückhält, Finanzierung steht, abgebrochen, älter als das Veraltungsfenster von standardmäßig 12 Monaten, ohne Bewegung seit 12 Monaten, in einem Markt außerhalb eines Immobilienmandats, eine Immobilienzeile ohne privaten Kreditnehmer für den Desk (ein eigenes Vorhaben einer öffentlichen Stelle, ein Vorhaben einer Wohnungsgesellschaft oder des sozialen Wohnungsbaus, nur ein Bauunternehmen, ein Eigennutzer), eigene Bank, inländisch oder unter der Wertuntergrenze des Teams, erscheinen nur mitinclude_hiddengleich true, wobei die Seite die beiden Altersregeln in Monaten instale_monthsundmovement_monthsnennt), jede Zeile mit Fenster, Bandwort, bestätigtem Stand, genanntem Ereignisdatum, ob die eigene Bank beteiligt ist, Angle und Ask sowie ihrer letzten Aktualisierung, wobei das Feldhas_unseen_updatefür einen Schlüsselnullist, weil ein Schlüssel kein Öffnen aufzeichnet (die Sortierunglatest_updateordnet allein nach dieser Aktualisierung); oder eine vollständige Transaktion anhand derdeal_idmit Beteiligten, belegter Zeitleiste (timeline_limitEinträge, standardmäßig 50, höchstens 200), der Zusammenfassung (drei Zeilen, nach festen Regeln aus den belegten Feststellungen erzeugt, nicht von einem Modell, jede mit ihren Belegen), dem Briefing, einem Objekt mittext,drafted_at,drafted_byundsources, das ein Sprachmodell als kurze Zusammenfassung der belegten Quellen der Transaktion verfasst, wobei allein seine in Ziffern geschriebenen Zahlen gegen deren Text geprüft werden, oder null (null, bevor ein Briefing entworfen wurde, solange Briefings ausgeschaltet sind, nachdem sich die Quellen der Transaktion geändert haben, wenn kein Satz die Prüfung bestanden hat und wenn nichts übrig blieb, nachdem ein Satzteil entfernt wurde, der den Leser auffordert, etwas zu bestätigen, zu verifizieren, zu prüfen oder durchzusehen), und den wirtschaftlichen Eckdaten.deal_binding_queueliest die Beteiligten an den laufenden Transaktionen Ihres Teams, die noch keinem Unternehmen in einem Register zugeordnet sind, gemerkte Transaktionen zuerst, jede mit ihrer Transaktion, ihrem Team und den Kandidaten mit ihrem LEI und ihren Registernummern.deal_idbeschränkt sie auf eine Transaktion. Seitenweise überlimitundoffset. Die Zuordnung selbst erfolgt im Dashboard.- Das Werkzeug für doppelte Transaktionen wurde am 17. Oktober 2026 eingestellt. Stonewake findet und bereinigt doppelte Transaktionen selbst, es gibt also keine Dublettenfrage, die ein Assistent lesen müsste, und ein Aufruf unter dem alten Namen antwortet mit dem Fehler für ein unbekanntes Werkzeug.
country_profile, Länderinformationen, also der Index der abgedeckten Länder oder ein Land im Detail anhand deriso3mit belegter Risikoaufschlüsselung, Mitgliedschaften und den dortigen Transaktionen Ihres Teams.developments, datierte, belegte Entwicklungen aus den Rechercheläufen Ihres Teams, jede Zeile mit ihrem Team, als paginierter Feed oder als vollständiger Lauf anhand derrun_idmit seinen belegten Feststellungen, Zitaten und Quellen. Dierun_ideines anderen Teams gilt wie eine unbekannte als nicht gefunden. Ein Lauf zu einer natürlichen Person wird nur in Arbeitsbereichen ausgeliefert, in denen Personendaten eingeschaltet sind, und seine Zeilen tragen keinen Relevanzwert.
Ausschreibungen
tender_matcheslistet die öffentlichen Bekanntmachungen, die die Suchprofile Ihres Teams getroffen haben, neueste zuerst, eine je Vergabeverfahren, jede mit einer Erklärung zu jedem Kriterium ihres Profils und mit der zitierten Bekanntmachung samt ihrer Seite bei TED. Eingrenzen lässt sich überstatusoderprofile_id, seitenweise überlimitundoffset,match_idallein liest einen Treffer unddeal_idallein die Treffer, die in diesen Deal des Deal Book übernommen wurden. Kein Treffer liefert die Zuschlagsempfänger aus, und ein Auftraggeber, dessen Rechtsform eine natürliche Person bezeichnen kann, wird zurückgehalten. Ein Treffer kann auch eine Bekanntmachung aus dem eigenen Portalbereich Ihres Teams inportal_noticezitieren, einen Export, den Ihre Bank hochgeladen hat, oder eine Benachrichtigung eines ihrer Portalzugänge, ausgewählt von einem Suchprofil oder vom Suchagenten des Portals selbst (decided_by). Siehe Suchprofile und Treffer für Ausschreibungen.tender_profileslistet die aktiven Suchprofile Ihres Teams mit den CPV Codes, NUTS Regionen, der Wertspanne, den Suchbegriffen und den übrigen Kriterien, die jedes verlangt. Das Werkzeug legt kein Profil an und startet keinen Durchlauf.tender_export_previewzeigt die Vorschau eines Exports aus einem Vergabeportal für den eigenen Ausschreibungsbereich Ihres Teams, eine CSV oder XLSX Datei oder das XML einer eForms Bekanntmachung, base64 kodiert, mit dem Portal, aus dem sie exportiert wurde, insource_portal. Jede Zeile nennt Ergebnis und Grund, seitenweise überlimitundoffset, und eine Datei, die kein Portalprofil erkennt, fragt nach einer Spaltenzuordnung. Es wird nichts geschrieben; siehe Exporte aus Vergabeportalen.
Lizenzierte Daten
licensed_factslistet die Werte zu Unternehmen, die ein von Ihrer Bank lizenzierter Datenanbieter genannt hat, abgerufen mit dem eigenen Schlüssel Ihrer Bank in Ihren eigenen Arbeitsbereich, jeder mit seinem Anbieter, seiner Quellenseite und dem Zeitpunkt des Abrufs. Ausgeliefert werden nur Werte, die unter einem Lizenzumfang abgerufen wurden, der die eigenen Systeme Ihrer Bank abdeckt. Eingrenzen lässt sich übernode_idoder eine deutsche Registernummer mit Gericht, seitenweise überlimitundoffset. Abgerufen wird im Dashboard; siehe Eigene Quellen.
Benachrichtigungen
alert_eventslistet die Meldungen Ihres Arbeitsbereichs, neueste zuerst, jede mit Klasse, Schweregrad,node_idundexposure_idihres Gegenstands, der Quelle, auf der sie beruht, und ihren Daten, nie mit einem Namen, filterbar nachevent_classundseverity. Ein Schlüssel liest die Meldungen seines eigenen Teams und jene für den ganzen Arbeitsbereich.alert_deliveriesliest das Zustellprotokoll Ihrer Meldungen auf jedem Kanal, neueste zuerst, mit jedem Versuch mit seinem Ergebnis und seiner Fehlerklasse sowie die Bestätigung (die eines signierten Webhooks oder der abschließende Bericht des SMS Anbieters, ob eine Nachricht zugestellt wurde) oder den Punkt, an dem eine Zustellung aufgegeben wurde, filterbar nachevent_id,statusundchannel. Ein Schlüssel liest die Zustellungen der Meldungen seines eigenen Teams und jene für den ganzen Arbeitsbereich. Siehe Benachrichtigungen über Teams und Webhook und Benachrichtigungen per SMS.
Nachrichten
company_newslistet die Unternehmen aus Bestand und Beobachtungsliste Ihres Arbeitsbereichs mit der neuesten täglichen Tonlage eines vollständig gelesenen Tages für jedes Unternehmen oder, mitnode_id, die täglichen Tonlagen eines Unternehmens und die neuesten 100 Artikel hinter der neuesten samt jedem Artikel, den seine Ereignisse nennen, jeder Artikel belegt durch seinenarticle_key, mit Adresse, Herausgeber, Datum, Sprache und GDELT Tonlage. Eine Tonlage istreading,too_little_coverageoderfeed_gap, und nurreadingträgt eine Tonlage. Mitnode_idliefert es außerdem die ernsten Nachrichtenereignisse des Unternehmens aus denselben Tagen, jedes mit Art, Schweregrad, der Zahl der Artikel, Quellen und Sprachen, den Schlüsseln seiner neuesten Artikel und seiner Nachrichtenprüfung, derenstatusconfirmeddie einzigen Ereignisse kennzeichnet, die sich melden. Jedes andere Unternehmen antwortet mit 404. Siehe Nachrichtenbeobachtung.
Soziale Medien
company_sociallistet die Unternehmen aus Bestand und Beobachtungsliste Ihres Arbeitsbereichs mit der neuesten täglichen Lesung sozialer Medien eines vollständig gelesenen Tages für jedes Unternehmen oder, mitnode_id, die täglichen Lesungen eines Unternehmens und seine neuesten 100 Beiträge der letzten 30 Tage, jeder Beitrag belegt durch seinenitem_key, mit Plattform, Link, Datum, Sprache und der Einstufung der Quelle. Jede Antwort sagt insource.enabled, ob eine lizenzierte Quelle eingeschaltet ist; bis dahin ist sie ausgeschaltet. Jedes andere Unternehmen antwortet mit 404. Siehe Beobachtung sozialer Medien.
Dokumente
report_downloadsnennt, wo die Dokumente als PDF eines Gegenstands zum Ablegen in einer Dokumentbibliothek wie SharePoint heruntergeladen werden.subjectistdeal(Dealbericht und Ausschusspaket),counterparty(Gegenparteibericht und Gegenparteipaket, über die ID im Register) odercompany(Unternehmensprofil, über die ID des Knotens des Graphen), undiddie ID des Gegenstands. Das Werkzeug liest zuerst den Gegenstand, eine ID, die Ihr Schlüssel nicht lesen kann, antwortet also mitnot_found, und gibt dann den Pfad unter/v1jedes Dokuments zurück. Es erzeugt kein Dokument. Die Dokumente werden mit demselben Schlüssel abgerufen, der dafür den Berichtsumfang braucht. Siehe SharePoint.
Prüfprotokoll
audit_log_exportliest das Prüfprotokoll Ihres eigenen Arbeitsbereichs für einen Zeitraum von Tagen,fromundtoim FormatJJJJ-MM-TT, beide eingeschlossen, höchstens 366 Tage, als Spalten und Zeilen in der Reihenfolge des Protokolls, mit Anmeldungen, Bereitstellung und Rollenwechsel über SSO, entfernte Mitglieder und jede andere erfasste Aktion. Es braucht einen Schlüssel für die API, den ein Administrator mit dem Prüfumfang erstellt hat, jeder andere Schlüssel erhältforbidden. Der Export selbst wird im Prüfprotokoll erfasst. Lange Zeiträume werden an der Ausgabegrenze abgeschnitten, fragen Sie deshalb kürzere ab. Siehe Schlüssel.
Dokumentation
search_stonewake_docsdurchsucht diese Dokumentation und ist das einzige Werkzeug, das keinen Schlüssel für die API braucht. Eine Suchanfrage hat 2 bis 256 Zeichen.
In diesen Werkzeugen gibt es zwei getrennte Kennungssysteme. Treffer aus search_companies tragen die node_id des Graphen, die entity_risk_profile, company_overview, company_financials, company_events, company_financing, company_public_funding, ownership_chain, company_network, company_records, company_sector_context und company_regional_context entgegennehmen, während company_profile eine entity_id aus dem getrennten Kennungssystem des Verzeichnisses entgegennimmt. Auf eine Kennung aus dem falschen Kennungssystem antwortet die API mit not_found.
Claude verbinden
Legen Sie in Claude einen eigenen Connector mit der URL des Endpunkts https://mcp.stonewake.ai/ und Ihrem Schlüssel für die API an. Aus Claude Code heraus genügt ein Befehl.
claude mcp add --transport http stonewake https://mcp.stonewake.ai/ \
--header "Authorization: Bearer $STONEWAKE_API_KEY"Cursor verbinden
Tragen Sie den Server in .cursor/mcp.json in Ihrem Projekt ein, oder in ~/.cursor/mcp.json für alle Projekte.
{
"mcpServers": {
"stonewake": {
"url": "https://mcp.stonewake.ai/",
"headers": {
"Authorization": "Bearer swk_live_EXAMPLExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
}Der Schlüssel oben ist ein Platzhalter; verwenden Sie Ihren eigenen.
Andere Clients für MCP
Jeder Client für MCP, der streamable HTTP spricht, kann sich verbinden. Richten Sie ihn auf https://mcp.stonewake.ai/ und lassen Sie ihn bei jeder Anfrage Authorization: Bearer <key> senden. Clients der Revision 2026-07-28 senden jede Anfrage mit ihrem Umschlag _meta und den Headern MCP-Protocol-Version, Mcp-Method und Mcp-Name, und server/discover nennt die bedienten Versionen, 2026-07-28 und die Versionen mit Handshake 2025-11-25, 2025-06-18, 2025-03-26 und 2024-11-05. Clients mit älteren Versionen von MCP, die mit initialize eröffnen, werden kompatibel beantwortet, und eine Anfrage, die weder den Umschlag noch einen Header mit einer Version trägt, wie die Tests unten, wird ebenso beantwortet. Mehr ist nicht nötig, keine Sitzungskennung, kein lokaler Prozess, kein zu installierendes Paket.
Ein erster Test von der Kommandozeile (das Auflisten der Werkzeuge braucht keinen Schlüssel).
curl -s https://mcp.stonewake.ai/ \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Ein Werkzeug aufzurufen ist eine weitere Anfrage nach JSON-RPC, tools/call mit params, die das Werkzeug und seine Argumente benennen. Mit Schlüssel liest dies Ihre Portfolioübersicht.
curl -s https://mcp.stonewake.ai/ \
-H "Content-Type: application/json" \
-H "Authorization: Bearer swk_live_EXAMPLExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"portfolio_overview","arguments":{}}}'Der Schlüssel oben ist ein Platzhalter; verwenden Sie Ihren eigenen.
Fehler
- Ein Werkzeugaufruf, dessen Schlüssel fehlt oder abgelehnt wird, beantwortet einen Fehler nach JSON-RPC mit dem stabilen Code
-32001und einer Meldung, die auf Authentifizierung verweist. Die Meldung weist darauf hin, wenn überhaupt keine Zugangsdaten gesendet wurden; gesendete und abgelehnte Zugangsdaten erhalten eine einheitliche Meldung, die wie die 401 der API keinen Grund nennt. Ein Schlüssel mit einem Zeichen außerhalb des druckbaren ASCII erhält dieselbe Antwort, bevor eine Anfrage die API erreicht. - Ein Werkzeugaufruf mit einem Argument, das sein Werkzeug nicht erklärt, oder mit einem Wert außerhalb einer erklärten Grenze oder vom falschen Typ beantwortet einen Fehler nach JSON-RPC mit dem Code
-32602, bevor eine Anfrage die API erreicht, und die Meldung nennt das Argument. Werte folgen JSON Schema,3.0ist also eine ganze Zahl. - Unter der Revision
2026-07-28beantwortet eine Anfrage ohne ihren Umschlag_metaoder mit einer Version darin, die keine Zeichenkette ist, den Code-32602, eine Anfrage, deren HeaderMCP-Protocol-Version,Mcp-MethododerMcp-Nameihrem Body widerspricht, den Code-32020, und eine Protokollversion, die dieser Server nicht bedient, den Code-32022mit den bedienten Versionen inerror.data.supported. Eine Methode, die der Server nicht anbietet, beantwortet-32601, und eine Kennung, die weder Zeichenkette noch ganze Zahl ist,-32600. Ein Body, der kein gültiges JSON ist,NaNundInfinityeingeschlossen, beantwortet-32700, und eine Zeichenkette mit einem einzelnen Surrogat als Escape wie\ud800, das für kein Zeichen steht, beantwortet innerhalb vonparamsden Code-32602und an jeder anderen Stelle-32600.tools/listliefert jedes Werkzeug auf einer Seite und gibt keinen Cursor aus, daher beantwortet eine Anfrage mit einemcursorden Code-32602. - Unter der Revision
2026-07-28kommen die Codes-32700,-32600,-32602,-32020und-32022mit HTTP 400 und-32601mit HTTP 404 zurück. Unter den früheren Revisionen kommen nur-32700und-32600mit HTTP 400 zurück. Jeder andere Fehler nach JSON-RPC kommt mit HTTP 200 zurück, dem Status, bei dem die Clients der früheren Revisionen ihn lesen und ihre Sitzung behalten. - Fehler des Werkzeuglaufs selbst (eine 403, 404 oder 429 der API oder eine nicht erreichbare API) kommen als Werkzeugergebnis mit
isErrortrue und einem maschinenlesbaren Body als JSON zurück, damit ein Agent reagieren kann. Ein ratenbegrenztes Ergebnis führtretry_after_secondsfür den Backoff mit. - Zwei Ablehnungen erfolgen, bevor ein Werkzeug läuft, als einfache Statuscodes von HTTP. Eine Anfrage mit einem Header
Origineiner anderen Website alshttps://mcp.stonewake.aioderhttps://claude.ai(diesen Origin sendet ein eigener Connector in Claude) erhält 403, eine Anfrage ohne den Header wird wie gewohnt bedient, und ein Body über 2.000.000 Bytes erhält 413. - Werkzeugantworten schließen Daten von Stonewake zwischen Markierungen
STONEWAKE_DATAein, und die Antwort weist ausdrücklich darauf hin, dass der Text innerhalb der Markierungen als Daten gilt und nicht als Anweisung an das Modell. - Eine Werkzeugantwort umfasst höchstens 50.000 Bytes Text. Eine Seite einer Liste, die länger wäre, eine Seite der Zeilen von
portfolio_import_previewodertender_export_previeweingeschlossen, behält ihre ersten Zeilen vollständig, sodass der Text zwischen den Markierungen ein einziges Dokument in JSON bleibt, und ihr Objektoutput_capnennt initems_serveddie gelieferten Zeilen und innext_offsetden Offset, ab dem weitergelesen wird, währendlimit,offsetundtotalso bleiben, wie die API sie beantwortet hat, ebenso diecountsbeider Vorschauen. Eine Antwort voncompany_network, die länger wäre, behält den Mittelpunkt und seine ersten Nachbarn vollständig mit den Kanten zwischen ihnen und meldettruncatedgleich true, und ihroutput_capnennt innodes_serveddie gelieferten Nachbarn. Eine Antwort voncountry_profilezu einem Land, die länger wäre, behält ihre ersten Transaktionen vollständig unddeals_totalso, wie die API es beantwortet hat, und ihroutput_capnennt indeals_serveddie gelieferten Transaktionen und verweist aufdeal_bookmitcountry_codeundinclude_hiddengleich true, das jede Transaktion des Landes liest. Jede andere so lange Antwort wird an der Grenze abgeschnitten und endet innerhalb der Markierungen mit einer Zeile, die mit[TRUNCATED:beginnt. Fragen Sie dann weniger ab, etwa ein kürzeres Zeitfenster oder ein kleinerestimeline_limit.
Grundsätze
Einen Assistenten anzubinden vergrößert die Angriffsfläche nicht. Die Werkzeuge sind lesende Sichten auf dieselben Daten des Arbeitsbereichs wie die API unter /v1, Personendaten folgen derselben Regel wie dort (ausgeliefert, wo Personendaten für Ihren Arbeitsbereich eingeschaltet sind, nie in der Sandbox, nie bewertet), und die Seiten Sicherheit und Nutzungsbedingungen decken den Zugang über MCP genauso ab wie die API.