Skip to documentation content

AI and MCP integration

Connect Entity Intelligence to AI agents through its secured MCP server.

In this guide
  1. 1Connect the MCP server
  2. 2Grant least-privilege scopes
  3. 3Approve write operations
In this guide
  1. 1Connect the MCP server
  2. 2Grant least-privilege scopes
  3. 3Approve write operations

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.

JSON
{
  "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.

URL
https://enrich.nordicdevhouse.com/api/mcp

Claude / Claude Code: Add the remote HTTP server in Claude or Claude Code, then complete OAuth with /mcp.

Shell
claude mcp add --transport http data-enrichment-mcp https://enrich.nordicdevhouse.com/api/mcp

Cursor: Add this server to your project or user MCP configuration.

JSON
{
  "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.

JSON
{
  "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.

Shell
codex mcp add data-enrichment-mcp --url https://enrich.nordicdevhouse.com/api/mcp

OpenAI Responses API: Use the remote MCP tool in the Responses API and keep approval enabled for non-read operations.

JSON
{
  "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

ToolModeScopeApproval
resolve_entitywriteentities:resolverequired
evaluate_entity_resolutionwriteentities:resolverequired
detect_workspace_entity_duplicateswriteidentity:writerequired
decide_workspace_entity_duplicatewriteidentity:writerequired
split_workspace_entity_identitywriteidentity:writerequired
list_workspace_entity_identity_historyreadidentity:readnever
submit_enrichment_jobwriteenrich:writerequired
list_enrichment_jobsreadjobs:readnever
get_enrichment_jobreadjobs:readnever
get_enrichment_job_tracereadjobs:readnever
list_enrichment_recordsreadjobs:readnever
get_record_evidencereadevidence:readnever
validate_knowledge_graph_querywritegraph:readrequired
format_knowledge_graph_querywritegraph:readrequired
translate_knowledge_graph_querywritegraph:readrequired
verify_knowledge_graph_translationwritegraph:readrequired
migrate_knowledge_graph_querieswritegraph:readrequired
create_knowledge_graph_migration_runwritegraph:readrequired
list_knowledge_graph_migration_runsreadgraph:readnever
get_knowledge_graph_migration_runreadgraph:readnever
retry_knowledge_graph_migration_runwritegraph:readrequired
cancel_knowledge_graph_migration_runwritegraph:readrequired
export_knowledge_graph_migration_runreadgraph:readnever
query_knowledge_graphwritegraph:readrequired
submit_knowledge_graph_query_jobwritegraph:readrequired
get_knowledge_graph_query_jobreadgraph:readnever
list_knowledge_graph_query_job_dead_lettersreadgraph:readnever
cancel_knowledge_graph_query_jobwritegraph:readrequired
retry_knowledge_graph_query_jobwritegraph:readrequired
explain_knowledge_graph_querywritegraph:readrequired
publish_knowledge_graph_claimswritegraph:writerequired
list_knowledge_graph_releasesreadgraph:readnever
get_knowledge_graph_releasereadgraph:readnever
diff_knowledge_graph_releasereadgraph:readnever
activate_knowledge_graph_releasewritegraph:writerequired
export_knowledge_graph_release_deltareadevents:readnever
publish_knowledge_graph_ontologywriteontology:writerequired
list_knowledge_graph_ontologiesreadontology:readnever
get_active_knowledge_graph_ontologyreadontology:readnever
create_knowledge_graph_ontology_draftwriteontology:writerequired
validate_knowledge_graph_ontologywriteontology:writerequired
activate_knowledge_graph_ontologywriteontology:writerequired
export_knowledge_graph_ontologyreadontology:readnever
import_knowledge_graph_ontologywriteontology:writerequired
migrate_knowledge_graph_ontologywriteontology:writerequired
list_knowledge_graph_eventsreadevents:readnever
stream_knowledge_graph_eventsreadevents:readnever
create_knowledge_graph_event_subscriptionwriteevents:writerequired
list_knowledge_graph_event_deliveriesreadevents:readnever
retry_knowledge_graph_event_deliverywriteevents:writerequired
create_graph_ingestion_sourcewriteingestion:writerequired
list_graph_ingestion_sourcesreadingestion:readnever
run_graph_ingestion_sourcewriteingestion:writerequired
list_graph_ingestion_runsreadingestion:readnever
list_graph_ingestion_dead_lettersreadingestion:readnever
retry_graph_ingestion_dead_letterwriteingestion:writerequired
create_change_subscriptionwritechanges:writerequired
list_change_subscriptionsreadchanges:readnever
get_change_subscriptionreadchanges:readnever
update_change_subscriptionwritechanges:writerequired
delete_change_subscriptiondestructivechanges:writerequired
scan_change_subscriptionwritechanges:writerequired
list_observed_changesreadchanges:readnever
get_observed_changereadchanges:readnever
create_alert_rulewritealerts:writerequired
list_alert_rulesreadalerts:readnever
get_alert_rulereadalerts:readnever
update_alert_rulewritealerts:writerequired
delete_alert_ruledestructivealerts:writerequired
list_alertsreadalerts:readnever
get_alertreadalerts:readnever
acknowledge_alertwritealerts:writerequired
list_alert_deliveriesreadalerts:readnever
retry_alert_deliverywritealerts:writerequired
download_enrichment_artifactreadjobs:readnever
list_review_casesreadevidence:readnever
decide_review_casewriteenrich:writerequired
create_enrichment_webhookwritewebhooks:writerequired
delete_enrichment_webhookdestructivewebhooks:writerequired
list_enrichment_webhook_deliveriesreadwebhooks:writenever

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

  1. 1
    Grant only the API scopes the agent needs
  2. 2
    Keep the API key server-side
  3. 3
    Fulfil the signed confirmation round for write and destructive tools
  4. 4
    Honor returned quota, retry, and circuit-breaker metadata
  5. 5
    Preserve request and trace identifiers for auditing
Was this page helpful?