MCP 服务器

bidda-compliance

com.bidda/bidda-compliance
法律与合规 安全 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Provides source-verified regulatory obligations, jurisdiction comparisons, compliance checks, change monitoring, control mappings, and tamper-evident audit records.

browse_topics
Browse the registry by cross-cutting compliance TOPIC (for example data breach notification, AI transparency, AML and KYC). Returns each topic with how many rules carry it and across how many pillars and jurisdictions. Topics sit on top of the 39 pillars without replacing them. Free, no key required. Pass a topic string to drill into one.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {'topic': {'type': 'string', 'description': 'Optional topic name to filter or drill into.'}}}
check_action_compliance
Pre-flight regulatory check. Agent describes an intended action in natural language ("process EU resident biometric data", "transfer health records to a third-party AI vendor", "deploy autonomous trading model in Singapore") and receives a ranked list of regulations that may apply, plus a risk indicator (LOW/MODERATE/HIGH). The primary tool for runtime compliance gating in autonomous agent workflows.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['action'], 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Max matches to return. Default 10. Max 25.'}, 'action': {'type': 'string', 'description': 'Natural-language description of the intended action.'}, 'jurisdiction': {'type': 'string', 'description': 'Optional jurisdiction filter (eu, us, uk, etc.).'}}}
compare_jurisdictions
Compare how different jurisdictions address a compliance topic, side by side, including where their numeric thresholds differ (for example a breach-notification deadline of 72 hours versus 30 days). It surfaces the real rules and numbers and does not rank which jurisdiction is stricter. Requires an active Bidda subscription: pass your key as api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'description': 'Topic to compare, for example "data breach notification".'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
consult_node
The one-call governed turn: fetch the full vault node (this consumes one call on your key, exactly like unlocking a node) AND record a verified node_consulted entry for it on an open run, in a single step. The entry pins the node to its current version + integrity hash, so the run receipt proves what the agent actually consulted. Use this instead of get_node when you are inside a run. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['run_id', 'node_id'], 'properties': {'model': {'type': 'string', 'description': 'Optional: the model id/version making the decision.'}, 'action': {'type': 'string', 'description': 'Optional: an action the agent took or checked.'}, 'run_id': {'type': 'string', 'description': 'The open run to record into (from open_run).'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'node_id': {'type': 'string', 'description': 'The rule to fetch and record.'}, 'decision': {'type': 'string', 'description': 'Optional: what the agent decided using this node.'}, 'input_hash': {'type': 'string', 'description': "Optional: a sha256:... hash of the user's message instead of the text."}, 'user_input': {'type': 'string', 'description': "Optional: the end user's message as text."}, 'subject_hash': {'type': 'string', 'description': 'Optional: a sha256:... hash of an end-user identifier. Hash only.'}}}
create_attestation
Create a signed, time-stamped record of which Bidda rules a person or AI agent relied on for a decision. Returns a record ID and a public verify URL so anyone can later confirm the record has not been changed. Useful for agents that must keep an audit trail of what they checked. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['agent', 'nodes'], 'properties': {'agent': {'type': 'string', 'description': 'The system or AI agent that made the decision.'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'node_ids that were checked (max 50).'}, 'action': {'type': 'string', 'description': 'Optional: what the agent did.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'workflow_steps_followed': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional: steps the agent followed.'}}}
create_control_attestation
Sign a tamper-evident record of one of YOUR OWN controls or policies and the Bidda obligation nodes it maps to. Each obligation is pinned to its current version + integrity hash at signing time, so the record shows what the control was mapped against on that date. This is the design-side evidence ('we operate this control, mapped to these obligations'); run receipts are the operating-side evidence. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['control', 'statement', 'nodes'], 'properties': {'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Obligation node_ids the control maps to (max 50).'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'control': {'type': 'string', 'description': 'The name of your control or policy.'}, 'framework': {'type': 'string', 'description': 'Optional: the framework you are mapping to (e.g. "EU AI Act").'}, 'statement': {'type': 'string', 'description': 'What the control does or asserts (plain text).'}, 'evidence_ref': {'type': 'string', 'description': 'Optional: a reference/URL/hash to your own evidence (kept by you).'}, 'control_owner': {'type': 'string', 'description': 'Optional: the role or team that owns the control.'}, 'control_status': {'type': 'string', 'description': 'Optional: implemented | planned | in-progress.'}, 'effective_date': {'type': 'string', 'description': 'Optional: YYYY-MM-DD the control took effect.'}}}
drift_check
Check whether the compliance rules an agent has cached in its own memory are still current. Submit the node_id and the integrity hash you stored when you last grounded on each rule; get back, per rule, whether it is fresh, has drifted (content changed), or was withdrawn (instrument repealed) - so the agent re-grounds before acting on stale law. Included with every API tier; the per-call batch size scales with your plan. Pass api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['anchors'], 'properties': {'anchors': {'type': 'array', 'items': {'type': 'object', 'required': ['node_id'], 'properties': {'hash': {'type': 'string', 'description': 'The sha256:... integrity hash you cached for it (omit to just fetch the current fingerprint).'}, 'node_id': {'type': 'string', 'description': 'The rule (node_id).'}}}, 'description': 'The cached rules to check.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
gap_check
Given the compliance rules a team says it covers, return the prerequisite rules Bidda's dependency graph links to them that were NOT listed - the 'you missed the prerequisite obligation' gaps - plus any covered rule the registry marks withdrawn. A coverage aid for a qualified reviewer; it does not rank or determine compliance. Requires an active Bidda subscription: pass api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['nodes'], 'properties': {'depth': {'type': 'number', 'description': 'Optional: how many dependency hops to walk (1-3, default 1).'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The node_ids you cover (max 200).'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
get_audit_pack
Export a run as a governance evidence pack: the signed receipt, every entry, a roll-up of the nodes consulted (with pinned versions/hashes), an independent hash-chain + Merkle integrity self-check, and a coversheet mapping the receipt to the record-keeping obligations it supports (EU AI Act Art. 12/26, ISO/IEC 42001, NIST AI RMF). A sealed run is readable by id; a still-open run's draft pack needs your api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run to export.'}, 'api_key': {'type': 'string', 'description': 'Optional: your Bidda key, required for a still-open (unsealed) run.'}}}
get_crosswalk
Return the cross-framework mapping dimensions for a node: which other regulations, standards, or jurisdictions this rule maps to (e.g. GDPR Article 17 → CCPA right-to-delete → POPIA Section 24). Discovery returns the available dimensions; full mapping values are vault-gated.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['node_id'], 'properties': {'node_id': {'type': 'string', 'description': 'Node ID to inspect crosswalks for.'}}}
get_dependency_chain
Walk the prerequisite chain for a compliance node. Given one node, returns its full dependency tree (the prior obligations an agent must satisfy before this one applies). Use this to plan a complete compliance posture: unlocking one node usually requires understanding 3-8 upstream nodes. Defaults to depth 2; max 4.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['node_id'], 'properties': {'node_id': {'type': 'string', 'description': 'Root node ID to expand from.'}, 'max_depth': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': 'How many hops to walk (1-4). Default 2.'}}}
get_jurisdiction_bundle
Return all compliance nodes that apply in a specific jurisdiction (EU, US, UK, Australia, Singapore, India, Canada, China, South Africa, Japan, Brazil and others). Use when an agent enters a new market and needs the full regulatory surface for that geography.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['jurisdiction'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'minimum': 1, 'description': 'Max nodes to return. Default 25. Max 100.'}, 'jurisdiction': {'type': 'string', 'description': 'Jurisdiction code or name: eu, us, uk, au, sg, india, canada, china, south-africa, japan, brazil.'}}}
get_latest_changes
List the most recently updated compliance nodes: the regulatory change feed. Use to monitor incoming amendments, new guidance, or freshly added rules. Filter by pillar to focus on a domain. Agents should call this on a schedule to keep compliance posture current.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {'days': {'type': 'integer', 'maximum': 180, 'minimum': 1, 'description': 'Look back N days. Default 30. Max 180.'}, 'pillar': {'type': 'string', 'description': 'Optional pillar filter, e.g. "AI Governance" or "Cybersecurity".'}}}
get_mitre_mapping
The MITRE Rosetta Stone. Given a MITRE technique ID across 5 frameworks (ATT&CK Enterprise, ATT&CK Mobile, ATT&CK ICS, D3FEND, ATLAS), return the Bidda node for that technique plus its mapped compliance obligations: NIST 800-53 controls, ISO 27001 Annex A clauses, PCI DSS requirements, NIS2 articles, HIPAA Security Rule, DORA articles, NERC CIP, IEC 62443. The bridge between how SOC teams think (technique IDs) and how compliance teams think (control families). Free.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['technique_id'], 'properties': {'technique_id': {'type': 'string', 'description': 'MITRE technique ID. ATT&CK Enterprise (T1566, T1486, T1078, T1003.001, T1547.001); ATT&CK Mobile (T1474, T1521, T1471, T1430, T1417); ATT&CK ICS (T0883, T0809, T0879, T0886, T0814); D3FEND (D3-FIM, D3-MFA, D3-NTA, D3-NI, D3-AI, D3-CH); CAPEC (CAPEC-66, CAPEC-63, CAPEC-98, CAPEC-94, CAPEC-49); or ATLAS (AML.T0020).'}}}
get_node
Get a specific compliance node by its ID. Returns the node summary: title, compliance pillar, version, last updated, and BLUF. The full node (machine-executable deterministic workflow, actionable schema, primary legal citations, dependency chain) is available at bidda.com.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Node ID, e.g. "basel-iii-capital", "gdpr-article-5-principles", "fatf-40-recommendations-2023-consolidated", "us-hipaa-privacy-rule"'}}}
get_run
Fetch a run and its entries. The owner can read an open or sealed run (pass api_key); a sealed run is also publicly readable by id and reports whether its signature is valid.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run_id to fetch.'}, 'api_key': {'type': 'string', 'description': 'Optional: your Bidda key, required to read your own still-open run.'}}}
list_pillars
List all compliance pillars in the Bidda Sovereign Intelligence registry with node counts. Use this first to discover available compliance domains before searching. Bidda has 10,099 cryptographically-verified nodes across 39 pillars, including a MITRE layer spanning 6 frameworks (ATT&CK Enterprise/Mobile/ICS, D3FEND, ATLAS, CAPEC) plus Banking, AI Governance, Cybersecurity, Healthcare, Legal, ESG and more.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {}}
obligation_deltas
The obligation-level change feed: primary sources whose content changed (or whose node was withdrawn), mapped to the Bidda obligation nodes they affect, filterable by time, pillar, or specific nodes. Use it to answer 'what obligations changed since I last reviewed?'. Requires an active Bidda subscription: pass api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'number', 'description': 'Optional: max deltas to return (default 100, max 500).'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional: restrict to deltas affecting these node_ids.'}, 'since': {'type': 'string', 'description': 'Optional: ISO timestamp; only deltas newer than this are returned.'}, 'pillar': {'type': 'string', 'description': 'Optional: restrict to one pillar.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
open_run
Open a run ledger: a signed, tamper-evident log of what an agent does across a whole task or conversation (for example a support-bot chat). Returns a run_id. Record one entry per turn with record_run_entry, then seal_run to get a single signed Run Receipt. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['agent'], 'properties': {'agent': {'type': 'string', 'description': 'The system or agent running the task or conversation.'}, 'label': {'type': 'string', 'description': 'Optional human label, for example the chat or ticket id.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
oscal_assessment_results
Export a governed run's evidence as a NIST OSCAL assessment-results document (the machine-readable format GRC and audit tooling consumes): reviewed-controls (the obligation nodes consulted), observations (each pinned to its version + integrity hash), and props recording the independent integrity self-check. A sealed run is readable by id; a still-open run needs your api_key.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run to export as OSCAL assessment-results.'}, 'api_key': {'type': 'string', 'description': 'Optional: your Bidda key, required for a still-open (unsealed) run.'}}}
point_in_time
Get a signed record of which committed version of a rule was authoritative at a specific past date, anchored to the public history chain. Useful when an agent must show what a rule said at the moment it acted. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['node_id'], 'properties': {'as_of': {'type': 'string', 'description': 'ISO date or time, or epoch milliseconds. Defaults to now.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'node_id': {'type': 'string', 'description': 'The rule (node_id).'}}}
record_run_entry
Append one entry to an open run: which Bidda rules the agent consulted, what it decided, and the end user's input (as text via note, or privately as input_hash). Each entry is hash-chained to the previous one. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': ['run_id'], 'properties': {'note': {'type': 'string', 'description': "Optional: the end user's message as text."}, 'model': {'type': 'string', 'description': 'Optional: the model id/version that produced this decision (e.g. gpt-4o-2024-08-06).'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional node_ids the agent consulted (max 50).'}, 'action': {'type': 'string', 'description': 'Optional: an action the agent took or checked.'}, 'run_id': {'type': 'string', 'description': 'The run_id returned by open_run.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'decision': {'type': 'string', 'description': 'Optional: what the agent decided or did this turn.'}, 'entry_type': {'type': 'string', 'description': 'Optional: node_consulted | action_checked | decision | note. Defaults to note.'}, 'input_hash': {'type': 'string', 'description': "Optional: a sha256:... hash of the user's message instead of the text."}, 'output_hash': {'type': 'string', 'description': "Optional: a sha256:... hash of the agent's output."}, 'subject_hash': {'type': 'string', 'description': 'Optional: a sha256:... hash of an end-user identifier for per-subject traceability. Hash only, never plaintext.'}, 'verify_nodes': {'type': 'boolean', 'description': 'Optional: pin each node in "nodes" to its current version + integrity hash (proof, not just a claim). No extra call charge.'}}}
seal_run
Seal an open run into one signed Run Receipt covering every entry, with a public verify URL. Idempotent: sealing an already-sealed run returns the same receipt. Requires an active Bidda subscription: pass api_key.
可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['run_id'], 'properties': {'run_id': {'type': 'string', 'description': 'The run_id to seal.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}}}
search_nodes
Search Bidda compliance nodes by keyword. Returns matching node summaries including a one-sentence BLUF (Bottom Line Up Front): the exact compliance obligation in plain language. Every node traces to a primary legal source (no hallucination). Examples: "Basel III capital", "GDPR data breach", "AML transaction monitoring", "SOC 2 Type II".
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['query'], 'properties': {'limit': {'type': 'number', 'description': 'Max results (default 10, max 25)'}, 'query': {'type': 'string', 'description': 'Search terms, e.g. "Basel III capital requirements", "GDPR data breach notification 72 hours", "FATF travel rule"'}, 'pillar': {'type': 'string', 'description': 'Optional: filter by pillar name, e.g. "Banking & Global Finance", "Cybersecurity", "AI Governance & Law", "Medical & Healthcare"'}}}
watch_changes
Subscribe to regulatory change alerts: watch specific rules and/or whole pillars and get notified by email or webhook when their primary source changes. Requires an active Bidda subscription: pass api_key.
可访问外部资源
输入模式
{'type': 'object', 'required': [], 'properties': {'label': {'type': 'string', 'description': 'Optional name for the alert.'}, 'nodes': {'type': 'array', 'items': {'type': 'string'}, 'description': 'node_ids to watch.'}, 'api_key': {'type': 'string', 'description': 'Optional. Your Bidda subscription key. Prefer sending it as the x-bidda-api-key header (or Authorization: Bearer), which is what the auth settings in your MCP client configure; the header takes precedence over this argument. A free trial counts.'}, 'pillars': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Pillar names to watch.'}, 'channels': {'type': 'object', 'description': 'Delivery channels, for example { "email": true, "webhook": false }. Defaults to email.'}, 'webhook_url': {'type': 'string', 'description': 'Required if the webhook channel is enabled.'}}}
已添加
oscal_assessment_results
2026年9月17日 12:33
已添加
obligation_deltas
2026年9月17日 12:33
已添加
gap_check
2026年9月17日 12:33
已添加
create_control_attestation
2026年9月17日 12:33
已添加
drift_check
2026年9月17日 12:33
已添加
get_run
2026年9月17日 12:33
已添加
seal_run
2026年9月17日 12:33
已添加
get_audit_pack
2026年9月17日 12:33
已添加
consult_node
2026年9月17日 12:33
已添加
record_run_entry
2026年9月17日 12:33
已添加
open_run
2026年9月17日 12:33
已添加
watch_changes
2026年9月17日 12:33
已添加
point_in_time
2026年9月17日 12:33
已添加
create_attestation
2026年9月17日 12:33
已添加
compare_jurisdictions
2026年9月17日 12:33
已添加
browse_topics
2026年9月17日 12:33
已添加
check_action_compliance
2026年9月17日 12:33
已添加
get_mitre_mapping
2026年9月17日 12:33
已添加
get_jurisdiction_bundle
2026年9月17日 12:33
已添加
get_latest_changes
2026年9月17日 12:33
已添加
get_crosswalk
2026年9月17日 12:33
已添加
get_dependency_chain
2026年9月17日 12:33
已添加
get_node
2026年9月17日 12:33
已添加
search_nodes
2026年9月17日 12:33
已添加
list_pillars
2026年9月17日 12:33