Skip to main content
Glama
Ansvar-Systems

Swedish Financial Regulation MCP

Swedish Financial Regulation MCP

The Swedish financial-regulation corpus is now served through the Ansvar Gateway. Connect your AI assistant (Claude, Copilot, Cursor, custom MCP client) to https://gateway.ansvar.eu/mcp — one OAuth connection, free tier available, covering this corpus plus EU regulations, national law across dozens of audited jurisdictions (Europe + the US), and CVE/security intelligence, every result with a verbatim source citation. Start at https://ansvar.eu/docs/quickstart

Connect

Claude Code (one line):

claude mcp add ansvar --transport http https://gateway.ansvar.eu/mcp

Claude Desktop / Cursor — add to claude_desktop_config.json (or mcp.json):

{
  "mcpServers": {
    "ansvar": {
      "type": "url",
      "url": "https://gateway.ansvar.eu/mcp"
    }
  }
}

Claude.ai — Settings → Connectors → Add custom connector → paste https://gateway.ansvar.eu/mcp

First request opens an OAuth signup flow (setup details: ansvar.eu/docs/quickstart). After signup, your client is bound to your account; tier (free / premium / team / company) determines fan-out, quota, and which downstream MCPs are reachable.


Self-host this MCP

You can also clone this repo and build the corpus yourself. The schema, fetcher, and tool implementations all live here. What is not in the repo is the pre-built database — TDM and standards-licensing constraints on the upstream sources mean we host the corpus on Ansvar infrastructure rather than redistribute it as a public artifact.

Build your own: run this repo's ingestion script (entry-point varies per repo — typically scripts/ingest.sh, npm run ingest, or make ingest; check the repo root).

Swedish financial regulation data for AI compliance tools.

License CI

Query Swedish financial regulation data -- regulations, decisions, and requirements from Finansinspektionen (Swedish Financial Supervisory Authority) -- directly from Claude, Cursor, or any MCP-compatible client.

Built by Ansvar Systems -- Stockholm, Sweden


Related MCP server: Greek Financial Regulation MCP

Available Tools (6)

Tool

Description

se_fin_search_regulations

Full-text search across Swedish financial regulation provisions. Returns matching Finansinspektionen FFFS foreskrifte...

se_fin_get_regulation

Get a specific Swedish financial regulation provision by sourcebook and reference. Accepts references like

se_fin_list_sourcebooks

List all Swedish financial regulation sourcebooks with their names and descriptions. Covers Finansinspektionen FFFS, ...

se_fin_search_enforcement

Search Finansinspektionen enforcement actions — ingripanden, sanktionsavgifter, and anmarkningar. Returns matching en...

se_fin_check_currency

Check whether a specific Swedish financial regulation provision reference is currently in force. Returns status and e...

se_fin_about

Return metadata about this MCP server: version, data source, tool list.

All tools return structured data with source references and timestamps.


Data Sources and Freshness

All content is sourced from official Swedish regulatory publications:

  • Finansinspektionen (Swedish Financial Supervisory Authority) -- Official regulatory authority

Data Currency

  • Database updates are periodic and may lag official publications

  • Freshness checks run via GitHub Actions workflows

  • Last-updated timestamps in tool responses indicate data age

See sources.yml for full provenance metadata.


Security

This project uses multiple layers of automated security scanning:

Scanner

What It Does

Schedule

CodeQL

Static analysis for security vulnerabilities

Weekly + PRs

Semgrep

SAST scanning (OWASP top 10, secrets, TypeScript)

Every push

Gitleaks

Secret detection across git history

Every push

Trivy

CVE scanning on filesystem and npm dependencies

Daily

Docker Security

Container image scanning + SBOM generation

Daily

Socket.dev

Supply chain attack detection

PRs

Dependabot

Automated dependency updates

Weekly

See SECURITY.md for the full policy and vulnerability reporting.


Important Disclaimers

Not Regulatory Advice

THIS TOOL IS NOT REGULATORY OR LEGAL ADVICE

Regulatory data is sourced from official publications by Finansinspektionen (Swedish Financial Supervisory Authority). However:

  • This is a research tool, not a substitute for professional regulatory counsel

  • Verify all references against primary sources before making compliance decisions

  • Coverage may be incomplete -- do not rely solely on this for regulatory research

Before using professionally, read: DISCLAIMER.md | PRIVACY.md

Confidentiality

Queries go through the Claude API. For privileged or confidential matters, use on-premise deployment. See PRIVACY.md for details.


Development

Setup

git clone https://github.com/Ansvar-Systems/swedish-financial-regulation-mcp
cd swedish-financial-regulation-mcp
npm install
npm run build
npm test

Running Locally

npm run dev                                       # Start MCP server
npx @anthropic/mcp-inspector node dist/index.js   # Test with MCP Inspector

Data Management

npm run build:db       # Rebuild SQLite database from seed data
npm run check-updates  # Check for new regulatory data

More Ansvar MCPs

Full fleet coverage at ansvar.eu/coverage.

Contributing

Contributions welcome! See CONTRIBUTING.md for guidelines.


License

Apache License 2.0. See LICENSE for details.

Data Licenses

Regulatory data sourced from official government publications. See sources.yml for per-source licensing details.


About Ansvar Systems

We build AI-powered compliance and legal research tools for the European market. Our MCP fleet provides structured, verified regulatory data to AI assistants -- so compliance professionals can work with accurate sources instead of guessing.

ansvar.eu -- Stockholm, Sweden


Available Tools

6 tools
se_fin_aboutA

Return metadata about this MCP server: version, data source, tool list.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description clearly indicates a read-only, non-destructive operation (returning metadata). It does not disclose any potential side effects or authorization needs, which are minimal for a metadata endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is well-front-loaded with the action and resource. Every word is purposeful with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description provides sufficient detail about the return content (version, data source, tool list). It is complete for a simple metadata tool, though it could mention if the list of tools is dynamic or static.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema provides no meaning. The description compensates fully by explaining what the tool returns, adding value beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns metadata about the server, listing specific fields: version, data source, tool list. The verb 'Return' and resource 'metadata about this MCP server' are precise, and the tool is distinct from siblings which deal with financial data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or not use this tool. However, it's implied for initial server information retrieval, and sibling tools are clearly different in domain (financial data vs server metadata). A more explicit 'Use this to get information about the server itself' would improve.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

se_fin_check_currencyA

Check whether a specific Swedish financial regulation provision reference is currently in force. Returns status and effective date.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesFull provision reference to check

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It discloses that the tool returns a status and effective date, but does not mention any side effects, authentication needs, rate limits, or potential failure states. For a simple read-only check, this is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant information. It could be slightly expanded to include output details, but it is effective and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is sufficient. It explains the purpose and what is returned, and sibling tools provide context for differentiation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description repeats the schema's 'Full provision reference to check' without adding additional meaning or constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks whether a Swedish financial regulation provision reference is currently in force. The verb 'Check' and the specific resource 'provision reference' distinguish it from sibling tools like se_fin_get_regulation or se_fin_search_regulations, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for verifying the current status of a provision, but does not explicitly state when to use this tool versus alternatives. No exclusions or context on when not to use it are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

se_fin_get_regulationA

Get a specific Swedish financial regulation provision by sourcebook and reference. Accepts references like 'FFFS 2014:1 kap.2 para.1' or 'FFFS 2014:5 kap.4 para.3'.

ParametersJSON Schema
NameRequiredDescriptionDefault
referenceYesFull provision reference (e.g., 'FFFS 2014:1 kap.2 para.1')
sourcebookYesSourcebook identifier (e.g., FI_FFFS, FI_PROMEMORIOR)

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only states 'Get' (implying read-only) and does not mention any side effects, permissions, or return characteristics. For a tool with no annotations, this is insufficient to guide safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single succinct sentence followed by examples, with no unnecessary words. It front-loads the core purpose immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only two simple parameters and no output schema, the description is largely complete. It explains the input format and the tool's function. However, it could briefly note that the operation is read-only, especially since no annotations are present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds example reference formats, which provides context beyond the schema's brief descriptions, but does not significantly deepen understanding of the parameters or their constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves a specific Swedish financial regulation provision by sourcebook and reference, using a specific verb ('Get') and resource ('regulation provision'). It distinguishes from sibling tools like 'se_fin_search_regulations' (search) and 'se_fin_list_sourcebooks' (list) by focusing on exact references, and provides concrete reference examples.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when you have an exact reference and sourcebook, but does not explicitly state when to use this tool versus alternatives like search or list tools. No exclusions or prerequisites are mentioned, leaving the AI agent to infer the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

se_fin_list_sourcebooksA

List all Swedish financial regulation sourcebooks with their names and descriptions. Covers Finansinspektionen FFFS, promemorior, and tillsynsrapporter.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description implies a read-only list operation but does not disclose permissions, rate limits, or if it requires authentication. Could be more transparent about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clear, front-loaded sentence with no unnecessary words. Efficiently conveys purpose and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description is complete. It specifies what the tool returns (names and descriptions) and the categories covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has no parameters, so description does not need to add parameter info. Schema coverage is 100%. Description provides context on what is returned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists all Swedish financial regulation sourcebooks with names and descriptions, and specifies coverage (FFFS, promemorior, tillsynsrapporter). Distinguishes from siblings like se_fin_get_regulation and se_fin_search_regulations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description implies use when needing a list of sourcebooks, but lacks explicit guidance on when to use vs alternatives or any exclusions. Sibling context exists but is not leveraged.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

se_fin_search_enforcementB

Search Finansinspektionen enforcement actions — ingripanden, sanktionsavgifter, and anmarkningar. Returns matching enforcement decisions.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query (e.g., firm name, type of breach, 'marknadsmissbruk')
action_typeNoFilter by action type. Optional.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only states returns enforcement decisions but does not disclose read-only nature, authentication needs, or other behavioral traits. For a search tool, basic safety info is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with dash, no padding. Front-loads purpose, but inclusion of Swedish terms may not be universally helpful. Generally concise and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple search tool: explains purpose and returns type. However, no output schema or mention of pagination/search behavior; reliant on param descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all parameters with descriptions (100% coverage). Description adds context about enforcement actions but not per-parameter meaning beyond schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Search' and specific resource 'Finansinspektionen enforcement actions', including Swedish terms and returns type. Distinguishes from sibling tools like search_regulations or about.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., se_fin_search_regulations). No when-not or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

se_fin_search_regulationsA

Full-text search across Swedish financial regulation provisions. Returns matching Finansinspektionen FFFS foreskrifter, promemorior on operational resilience, and tillsynsrapporter.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results to return. Defaults to 20.
queryYesSearch query in Swedish (e.g., 'kapitalkrav', 'operativ risk', 'styrning och kontroll')
statusNoFilter by provision status. Defaults to all statuses.
sourcebookNoFilter by sourcebook ID (e.g., FI_FFFS, FI_PROMEMORIOR, FI_TILLSYNSRAPPORTER). Optional.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description states it is a full-text search returning matching documents, implying read-only operation, but does not explicitly confirm lack of side effects, rate limits, or other behavioral details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence efficiently conveys purpose and scope; front-loaded with action and resource, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters and no output schema, description covers the domain and return types adequately; lacks details on result format, pagination, or ordering, but is sufficient for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with parameter descriptions; description adds value by specifying searched document types, aiding in query formulation beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'search' and resources 'Swedish financial regulation provisions', listing specific document types (FFFS foreskrifter, promemorior, tillsynsrapporter), distinguishing it from sibling tools like se_fin_search_enforcement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool vs alternatives; domain is implied but alternatives like se_fin_get_regulation or se_fin_search_enforcement are not mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updatesv0.1.0
    • First observedse_fin_about
    • First observedse_fin_check_currency
    • First observedse_fin_get_regulation
    • First observedse_fin_list_sourcebooks
    • First observedse_fin_search_enforcement
    • First observedse_fin_search_regulations

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: metadata, check currency, get regulation, list sourcebooks, search enforcement, and search regulations. No overlap in functionality.

Naming Consistency5/5

All tools follow a consistent 'se_fin_verb_noun' pattern (e.g., se_fin_check_currency, se_fin_list_sourcebooks), making naming predictable and clear.

Tool Count5/5

With 6 tools, the server is well-scoped for its domain of Swedish financial regulation, covering key operations without being too sparse or bloated.

Completeness5/5

The tool set covers the full lifecycle of querying regulations: metadata, checking validity, retrieval, listing sourcebooks, enforcement search, and full-text search. No obvious gaps.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers