Data source: Internal registry
Overview
Resolver wraps Internal registry, handling authentication, pagination, and rate limits for you. This tutorial covers all 4 tools with working code examples you can copy and run.
Prerequisites
- Sign up at https://context.gnist.ai/signup for a free API key (100 calls/day).
- Choose your integration method: MCP protocol or REST API.
Connect via MCP
Add to your MCP client config (Claude Desktop, Cursor, etc.):
{
"mcpServers": {
"gnist-resolver": {
"url": "https://context.gnist.ai/mcp/resolver/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (4)
resolve_entity
Resolve an entity name to canonical identifiers across all relevant Gnist Context servers. Given a name and type, queries multiple upstream servers in parallel and returns a unified identity card with native identifiers per source. Results are cached for 24 hours. Args: name: Entity name to resolve. Examples: "Equinor", "Albert Einstein", "Norway", "machine learning" entity_type: Type of entity. One of: company, person, country, research_topic. hints: Optional dict of hints to narrow resolution. For company: {"country": "NO"} to include Norwegian registry (Brreg). For country: {"code": "NO"} to query economic databases by code. Returns: Identity card with: - canonical_name: Best-match canonical name - entity_type: The resolved type - identifiers: Dict keyed by source (brreg, gleif, wikidata, etc.), each containing the source's native identifiers - sources_ok / sources_failed: Resolution success counts - cached: Whether result came from cache
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | required | Entity name to resolve. |
entity_type | string | required | |
hints | any | optional |
curl -X POST "https://context.gnist.ai/mcp/resolver/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "resolve_entity", "arguments": {"name": "example", "entity_type": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/resolver/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'entity_type': 'example', 'name': 'example'},
'name': 'resolve_entity'}},
)
print(resp.json())
list_entity_types
List all entity types available for resolution. Returns the type name, description, and which upstream resolvers are configured for each type. Returns: Dict with count and entity_types list.
curl -X POST "https://context.gnist.ai/mcp/resolver/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_entity_types", "arguments": {}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/resolver/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {}, 'name': 'list_entity_types'}},
)
print(resp.json())
resolver_cache_stats
Return statistics about the entity resolution cache. Returns: Dict with entries, valid, expired, max_size, and ttl_seconds.
curl -X POST "https://context.gnist.ai/mcp/resolver/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "resolver_cache_stats", "arguments": {}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/resolver/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {}, 'name': 'resolver_cache_stats'}},
)
print(resp.json())
report_feedback
Report a bug, feature request, or general feedback for this data source. Use this when something doesn't work as expected, when you'd like a new feature, or when you have suggestions for improvement. Args: feedback: Describe the issue or suggestion. feedback_type: One of 'bug', 'feature_request', or 'general'.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: general) |
curl -X POST "https://context.gnist.ai/mcp/resolver/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "report_feedback", "arguments": {"feedback": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/resolver/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'feedback': 'example'}, 'name': 'report_feedback'}},
)
print(resp.json())
FAQ
What data does Resolver provide?
Cross-server entity resolution — resolve names to canonical identifiers across all data servers. It exposes 4 tools: resolve_entity, list_entity_types, resolver_cache_stats, report_feedback.
What do I need to get started?
A Gnist API key (free tier: 100 calls/day). Sign up at https://context.gnist.ai/signup.
What format does the Resolver API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.