Data source: Internal
Overview
Entity Monitors wraps Internal, handling authentication, pagination, and rate limits for you. This tutorial covers all 5 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-monitors": {
"url": "https://context.gnist.ai/mcp/monitors/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Tools (5)
create_monitor
Create an entity monitor to watch for data changes. When the monitored entity changes, an alert is generated and delivered to your webhook subscriptions for that entity type. Set up a webhook subscription first (using the subscribe tool), then create a monitor for the specific entity you want to watch. Args: api_key: Your Gnist API key. entity_type: The type of entity to monitor. entity_id: The specific entity identifier. Returns: Monitor details including id, entity_type, and entity_id, or error.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | required | Your Gnist API key (starts with 'gnist_'). |
entity_type | string | required | Entity type to monitor (e.g. 'brreg_company', 'doffin_tender', 'sec_edgar_filing'). |
entity_id | string | required | ID of the entity to monitor (e.g. org number, notice ID). |
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "create_monitor", "arguments": {"api_key": "example", "entity_type": "'brreg_company'", "entity_id": "org"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/monitors/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'api_key': 'example',
'entity_id': 'org',
'entity_type': "'brreg_company'"},
'name': 'create_monitor'}},
)
print(resp.json())
list_monitors
List all active entity monitors for your API key. Returns monitors with their entity type, entity ID, and status. Args: api_key: Your Gnist API key. Returns: List of active monitors.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | required | Your Gnist API key (starts with 'gnist_'). |
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_monitors", "arguments": {"api_key": "example"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/monitors/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'api_key': 'example'}, 'name': 'list_monitors'}},
)
print(resp.json())
delete_monitor
Remove an entity monitor (soft delete). The monitor will stop generating alerts immediately. Args: api_key: Your Gnist API key. monitor_id: The monitor UUID to deactivate. Returns: Confirmation or error if monitor not found.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | required | Your Gnist API key (starts with 'gnist_'). |
monitor_id | string | required | UUID of the monitor to remove. |
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "delete_monitor", "arguments": {"api_key": "example", "monitor_id": "12345"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/monitors/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'api_key': 'example', 'monitor_id': '12345'},
'name': 'delete_monitor'}},
)
print(resp.json())
list_monitor_alerts
List alerts for an entity monitor, newest first. Alerts are generated when change detection finds new data for the monitored entity. Args: api_key: Your Gnist API key. monitor_id: The monitor UUID to list alerts for. limit: Maximum alerts to return (1-200, default 50). Returns: List of alerts with status and timestamps.
| Parameter | Type | Required | Description |
|---|---|---|---|
api_key | string | required | Your Gnist API key (starts with 'gnist_'). |
monitor_id | string | required | UUID of the monitor to list alerts for. |
limit | integer | optional | Maximum number of alerts to return. (default: 50) |
curl -X POST "https://context.gnist.ai/mcp/monitors/" \
-H "Content-Type: application/json" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "list_monitor_alerts", "arguments": {"api_key": "example", "monitor_id": "12345"}}}'
import httpx
resp = httpx.post(
"https://context.gnist.ai/mcp/monitors/",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
json={'id': 1,
'jsonrpc': '2.0',
'method': 'tools/call',
'params': {'arguments': {'api_key': 'example', 'monitor_id': '12345'},
'name': 'list_monitor_alerts'}},
)
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/monitors/" \
-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/monitors/",
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())
Common Patterns
Several tools support
limit, offset, or page parameters. Start with small limits during development, then increase for production queries.FAQ
What data does Entity Monitors provide?
Create and manage entity monitors — watch specific entities for data changes and receive alerts via webhooks or Atom feeds. It exposes 5 tools: create_monitor, list_monitors, delete_monitor, list_monitor_alerts, 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 Entity Monitors API return?
JSON, via either MCP protocol (JSON-RPC 2.0) or REST API.