finos-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FINOS_MCP_AUDIT_PATH | No | Path to the audit log file. If not set, audit logs are written to stderr. | |
| FINOS_MCP_RATE_BURST | No | Allowed burst size for the rate limiter. | |
| FINOS_MCP_RATE_CALLS | No | Number of calls allowed per rate limiting window. | |
| FINOS_MCP_SEARCH_MODE | No | Set to 'lexical' to force lexical-only search mode, regardless of installed extras or model availability. | |
| FINOS_MCP_RATE_WINDOW_S | No | Rate limiting window in seconds. | |
| FINOS_MCP_AUDIT_RAW_ARGS | No | Set to '1' to log raw arguments in the audit log. By default, only a SHA-256 hash of the arguments is logged. | 0 |
| FINOS_MCP_EMBEDDING_MODEL | No | Path or model identifier for the local embedding model used in hybrid search. If not set, the default model 'minishlab/potion-base-4M' is downloaded from Hugging Face on first use. | |
| FINOS_MCP_MAX_INPUT_BYTES | No | Maximum serialized input size in bytes. Defaults to 64 KiB (1 MiB for CDM validation). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_risksA | List AIGF risks. Filter by type (RC = regulatory and compliance, OP = operational, SEC = security) or document status. Returns ids you can pass to get_risk. |
| get_riskA | Get one AIGF risk by id (AIR-SEC-010, ri-10, 10, or its title), with the controls that mitigate it, related risks, and external references. Set include_sections=false for a compact record without the full text. |
| list_controlsA | List AIGF controls (the framework calls them mitigations). Filter by type (PREV = preventative, DET = detective) or status. Returns ids for get_control. |
| get_controlA | Get one AIGF control by id (AIR-PREV-020, mi-20, 20, or its title), with the risks it mitigates, related controls, and crosswalk references (NIST SP 800-53, ISO 42001, ...). Set include_sections=false for a compact record. |
| map_risks_to_controlsA | Map risks to the controls that mitigate them. Pass explicit risk_ids (up to 25), a free-text query (the top k matching risks are used), and/or up to 5 queries (each contributing its own top k matches, unioned with everything else) -- useful for "both X and Y" questions where a single query blurs together two distinct concepts. Controls are ordered by how many of the given risks they cover; control_type (PREV or DET) restricts the result. Reports uncovered risks and any inputs that did not resolve. |
| map_control_to_externalA | Crosswalk one control to external frameworks: NIST SP 800-53 r5, NIST AI 600-1, ISO 42001, EU AI Act, OWASP LLM/ML/ASI, FFIEC, IOSCO, SR 11-7 and others. Optionally restrict to the named frameworks (see list_reference_frameworks). |
| search_frameworkA | Full-text search over risks and controls. Each hit has an id, the matching section, a snippet, and an aigf:// citation URI. Use scope to limit to risks or controls. |
| search_statusA | Report search_framework's active retrieval mode: whether it is BM25-only
(lexical) or fused with dense semantic search (hybrid), and why -- e.g. the
|
| list_reference_frameworksA | List the external reference frameworks the AIGF crosswalks to, with entry counts and how many risks and controls cite each. |
| find_by_external_referenceA | Reverse crosswalk: find the AIGF risks and controls that cite an external reference, e.g. key='sa-9' (NIST SP 800-53), 'llm01-2025' (OWASP LLM Top 10), 'c3-s2-a15' (EU AI Act), 'A-6-2-6' (ISO 42001). Matching is case-insensitive and ignores punctuation; optionally restrict to one framework name from list_reference_frameworks. |
| server_infoA | Describe this server: standard version, upstream provenance, exposed counts, latency, policy. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| assess_use_case | Identify applicable AIGF risks and the controls that mitigate each, citing ids. |
| control_gap_analysis | Given controls in place, find risks left uncovered and suggest controls. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| aigf_index |
TDQS
Scored across 11 tools
Most tools clearly target a distinct resource and action: list/get pairs for risks and controls are unambiguous, and the crosswalk tools are complementary. However, get_control and map_control_to_external both expose crosswalk references, and search_framework could be seen as overlapping with the list tools, though descriptions mostly clarify the difference.
The dominant naming pattern is verb_noun: list_risks, get_risk, list_controls, get_control, search_framework, list_reference_frameworks, find_by_external_reference, map_risks_to_controls. The only notable deviation is server_info, which is a noun rather than a verb-noun form, so the set is mostly consistent with minor exceptions.
With 11 tools, the server is well-scoped for a read-only AIGF framework explorer covering list, get, search, mapping, and crosswalk operations. Each tool serves a useful purpose, and the count feels appropriate without redundancy or bloat.
The toolset covers the apparent domain comprehensively: retrieving risks and controls, mapping between them, searching, forward and reverse crosswalk to external frameworks, listing supported frameworks, and server diagnostics. For a read-only reference and mapping server, there are no obvious dead ends or missing operations.