Company filings, reports, press releases and macro indicators for Nordic markets: NO, SE, DK, FI.
{
"mcpServers": {
"io-github-aidatanordic-nordic-financial-mcp": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Company filings, reports, press releases and macro indicators for Nordic markets: NO, SE, DK, FI.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
License not specified.
Is it maintained?
Last commit 1 days ago.
Will it work with my client?
Transport: . Compatibility not confirmed.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
MCP Security Weekly
Get CVE alerts and security updates for io.github.AIDataNordic/nordic-financial-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A production-grade semantic search server for Nordic financial markets — built for autonomous AI agents. 173,000+ vectors across exchange filings, company reports, macro data, and commodity prices.
Live endpoint: https://mcp.aidatanorge.no/mcp
Transport: streamable-http
Registry: MCP Registry · Glama.ai · mcp.so
Add to your MCP client config:
{
"mcpServers": {
"nordic-financial": {
"type": "streamable-http",
"url": "https://mcp.aidatanorge.no/mcp"
}
}
}
Or with Claude Code:
claude mcp add --transport http nordic-financial https://mcp.aidatanorge.no/mcp
Try the live demo in your browser:
👉 https://mcp.aidatanorge.no/demo
No installation, no configuration. Just search for "Equinor dividend", "Swedish policy rate", or "salmon price Q3".
This server follows the StreamableHTTP MCP transport. A complete handshake is required before calling tools.
# 1. Create session and capture session ID
SESSION_ID=$(curl -X GET https://mcp.aidatanorge.no/mcp \
-H "Accept: application/json, text/event-stream" \
-s -i | grep -i "mcp-session-id" | awk '{print $2}' | tr -d '\r')
echo "Session ID: $SESSION_ID"
# 2. Initialize session
curl -X POST https://mcp.aidatanorge.no/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "example-client", "version": "1.0"}
}
}'
# 3. Send initialized notification
curl -X POST https://mcp.aidatanorge.no/mcp \
-H "Content-Type": application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc": "2.0", "method": "notifications/initialized"}'
# 4. List available tools
curl -X POST https://mcp.aidatanorge.no/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc": "2.0", "id": 2, "method": "tools/list", "params": {}}'
# 5. Perform a search
curl -X POST https://mcp.aidatanorge.no/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_filings",
"arguments": {"query": "Equinor dividend", "limit": 3}
}
}'
| Error | Cause | Solution |
|-------|-------|----------|
| 406 Not Acceptable | Missing text/event-stream in Accept header | Send: Accept: application/json, text/event-stream |
| 400 Bad Request: Missing session ID | No session established | First GET /mcp, use returned mcp-session-id header |
| -32602 Invalid request parameters | Missing initialize before tools/list | Complete steps 1-3 in order |
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
async with streamablehttp_client("https://mcp.aidatanorge.no/mcp") as transport:
async with ClientSession(*transport) as session:
await session.initialize()
tools = await session.list_tools()
result = await session.call_tool(
"search_filings",
{"query": "Norwegian housing market Q3 2024", "country": "NO"}
)
print(result.content[0].text)
This handshake is automatic in MCP-compliant clients like Claude Desktop,