Connect the MCP server
The server is available at https://enrich.nordicdevhouse.com/api/mcp. Remote clients discover OAuth automatically and request only the scopes required by the selected tools.
{
"type": "mcp",
"server_label": "data-enrichment-mcp",
"server_url": "https://enrich.nordicdevhouse.com/api/mcp",
"require_approval": {
"always": {
"read_only": false
},
"never": {
"read_only": true
}
}
}Client-specific setup
ChatGPT: In ChatGPT developer mode, create a custom MCP connection and paste the endpoint below. OAuth starts automatically.
https://enrich.nordicdevhouse.com/api/mcpClaude / Claude Code: Add the remote HTTP server in Claude or Claude Code, then complete OAuth with /mcp.
claude mcp add --transport http data-enrichment-mcp https://enrich.nordicdevhouse.com/api/mcpCursor: Add this server to your project or user MCP configuration.
{
"mcpServers": {
"data-enrichment-mcp": {
"url": "https://enrich.nordicdevhouse.com/api/mcp"
}
}
}VS Code: Add this server to .vscode/mcp.json or your user MCP configuration.
{
"servers": {
"data-enrichment-mcp": {
"type": "http",
"url": "https://enrich.nordicdevhouse.com/api/mcp"
}
}
}Codex: Add the remote Streamable HTTP server with the Codex CLI. Codex stores the connection in your MCP configuration.
codex mcp add data-enrichment-mcp --url https://enrich.nordicdevhouse.com/api/mcpOpenAI Responses API: Use the remote MCP tool in the Responses API and keep approval enabled for non-read operations.
{
"type": "mcp",
"server_label": "data-enrichment-mcp",
"server_url": "https://enrich.nordicdevhouse.com/api/mcp",
"require_approval": {
"always": {
"read_only": false
},
"never": {
"read_only": true
}
}
}Generated tools
| Tool | Mode | Scope | Approval |
|---|---|---|---|
| resolve_entity | write | entities:resolve | required |
| evaluate_entity_resolution | write | entities:resolve | required |
| detect_workspace_entity_duplicates | write | identity:write | required |
| decide_workspace_entity_duplicate | write | identity:write | required |
| split_workspace_entity_identity | write | identity:write | required |
| list_workspace_entity_identity_history | read | identity:read | never |
| submit_enrichment_job | write | enrich:write | required |
| list_enrichment_jobs | read | jobs:read | never |
| get_enrichment_job | read | jobs:read | never |
| get_enrichment_job_trace | read | jobs:read | never |
| list_enrichment_records | read | jobs:read | never |
| get_record_evidence | read | evidence:read | never |
| validate_knowledge_graph_query | write | graph:read | required |
| format_knowledge_graph_query | write | graph:read | required |
| translate_knowledge_graph_query | write | graph:read | required |
| verify_knowledge_graph_translation | write | graph:read | required |
| migrate_knowledge_graph_queries | write | graph:read | required |
| create_knowledge_graph_migration_run | write | graph:read | required |
| list_knowledge_graph_migration_runs | read | graph:read | never |
| get_knowledge_graph_migration_run | read | graph:read | never |
| retry_knowledge_graph_migration_run | write | graph:read | required |
| cancel_knowledge_graph_migration_run | write | graph:read | required |
| export_knowledge_graph_migration_run | read | graph:read | never |
| query_knowledge_graph | write | graph:read | required |
| submit_knowledge_graph_query_job | write | graph:read | required |
| get_knowledge_graph_query_job | read | graph:read | never |
| list_knowledge_graph_query_job_dead_letters | read | graph:read | never |
| cancel_knowledge_graph_query_job | write | graph:read | required |
| retry_knowledge_graph_query_job | write | graph:read | required |
| explain_knowledge_graph_query | write | graph:read | required |
| publish_knowledge_graph_claims | write | graph:write | required |
| list_knowledge_graph_releases | read | graph:read | never |
| get_knowledge_graph_release | read | graph:read | never |
| diff_knowledge_graph_release | read | graph:read | never |
| activate_knowledge_graph_release | write | graph:write | required |
| export_knowledge_graph_release_delta | read | events:read | never |
| publish_knowledge_graph_ontology | write | ontology:write | required |
| list_knowledge_graph_ontologies | read | ontology:read | never |
| get_active_knowledge_graph_ontology | read | ontology:read | never |
| create_knowledge_graph_ontology_draft | write | ontology:write | required |
| validate_knowledge_graph_ontology | write | ontology:write | required |
| activate_knowledge_graph_ontology | write | ontology:write | required |
| export_knowledge_graph_ontology | read | ontology:read | never |
| import_knowledge_graph_ontology | write | ontology:write | required |
| migrate_knowledge_graph_ontology | write | ontology:write | required |
| list_knowledge_graph_events | read | events:read | never |
| stream_knowledge_graph_events | read | events:read | never |
| create_knowledge_graph_event_subscription | write | events:write | required |
| list_knowledge_graph_event_deliveries | read | events:read | never |
| retry_knowledge_graph_event_delivery | write | events:write | required |
| create_graph_ingestion_source | write | ingestion:write | required |
| list_graph_ingestion_sources | read | ingestion:read | never |
| run_graph_ingestion_source | write | ingestion:write | required |
| list_graph_ingestion_runs | read | ingestion:read | never |
| list_graph_ingestion_dead_letters | read | ingestion:read | never |
| retry_graph_ingestion_dead_letter | write | ingestion:write | required |
| create_change_subscription | write | changes:write | required |
| list_change_subscriptions | read | changes:read | never |
| get_change_subscription | read | changes:read | never |
| update_change_subscription | write | changes:write | required |
| delete_change_subscription | destructive | changes:write | required |
| scan_change_subscription | write | changes:write | required |
| list_observed_changes | read | changes:read | never |
| get_observed_change | read | changes:read | never |
| create_alert_rule | write | alerts:write | required |
| list_alert_rules | read | alerts:read | never |
| get_alert_rule | read | alerts:read | never |
| update_alert_rule | write | alerts:write | required |
| delete_alert_rule | destructive | alerts:write | required |
| list_alerts | read | alerts:read | never |
| get_alert | read | alerts:read | never |
| acknowledge_alert | write | alerts:write | required |
| list_alert_deliveries | read | alerts:read | never |
| retry_alert_delivery | write | alerts:write | required |
| download_enrichment_artifact | read | jobs:read | never |
| list_review_cases | read | evidence:read | never |
| decide_review_case | write | enrich:write | required |
| create_enrichment_webhook | write | webhooks:write | required |
| delete_enrichment_webhook | destructive | webhooks:write | required |
| list_enrichment_webhook_deliveries | read | webhooks:write | never |
MCP 2026 runtime
The server is stateless. Use server/discover, follow long-running operations through the Tasks extension, and answer input_required confirmations without changing the sealed requestState value.
Safety model
- 1Grant only the API scopes the agent needs
- 2Keep the API key server-side
- 3Fulfil the signed confirmation round for write and destructive tools
- 4Honor returned quota, retry, and circuit-breaker metadata
- 5Preserve request and trace identifiers for auditing