Fca Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Fca Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Open-source AI-powered regulatory intelligence for financial services
Financial services firms waste hours every day manually searching through fragmented FCA databases for regulatory information. Our open-source FCA MCP Server transforms this experience by providing real-time, conversational access to live FCA Register data through AI interfaces.
Instead of this: Manual searches across multiple FCA portals, copying firm reference numbers, cross-referencing databases You get this: "Which firms can provide mortgage advice in Scotland?" → Instant, accurate answers with source citations
See the FCA MCP Server in action:
Watch a 2-minute demo showing how regulatory questions that normally take hours are answered in seconds
https://github.com/user-attachments/assets/54d5e08c-ca84-4e9a-95c4-4251ca5af51e
Our MCP (Model Context Protocol) server acts as a bridge between AI assistants like Claude Desktop and the FCA's regulatory data. It:
Architecture: FastMCP server → Elasticsearch with semantic search → Azure OpenAI embeddings → Live FCA APIs
The MCP Server provides these AI-accessible tools:
For Compliance Teams:
For Legal & Risk:
For Business Development:
Prerequisites: Docker, Node.js, Claude Desktop, Azure OpenAI API key
git clone https://github.com/trailblazelabs/fca-mcp.git
cd fca-mcp
cp .env.example .env
# Edit .env with your Azure OpenAI credentials make dev_setup_from_scratch {
"mcpServers": {
"fca-mcp": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:8080/mcp/", "--allow-http"]
}
}
} curl -LsSf https://astral.sh/uv/install.sh | sh git clone <repository>
cd fca-mcp
# Install dependencies with uv
uv sync --extra dev make install # Install all dependencies
make test # Run tests
make test_integration # Run integration tests (slow on first run)
make lint # Check code formatting
make format # Format and fix code
make safe # Run security checks
# Pre-commit hooks
make pre-commit-install # Install pre-commit hooks
make pre-commit # Run pre-commit on all files
# Docker operations
make run # Start services with Docker Compose
make stop # Stop Docker services
make logs # View MCP server logs
# Development helpers
make mcp_test # Test MCP server connection
make es_health # Check Elasticsearch health make run_mcp_server
# Or directly with uv:
uv run fca-mcp servefca-mcp/
├── fca_mcp/ # Main Python package
│ ├── cli.py # CLI interface
│ ├── models.py # Data models
│ ├── mcp_server/ # MCP server implementation
│ │ ├── api.py # API endpoints and tool definitions
│ │ ├── handlers.py # Elasticsearch query handlers
│ │ ├── main.py # FastAPI application setup
│ │ └── utils.py # Utility functions
│ └── ... # Other modules
├── tests/ # Test suite
│ ├── mcp_server/ # MCP server tests
│ └── ... # Other tests
├── Dockerfile.mcp-server # MCP server container configuration
├── docker-compose.yaml # Service orchestration
└── README.md # This fileThe project includes a unified CLI for data management and server operations:
# Initialize Elasticsearch indices and inference endpoints
fca-mcp init-elasticsearch
# Run the MCP server
fca-mcp serve
# Load different types of FCA data
fca-mcp load-data handbook
fca-mcp load-data policy-documents
fca-mcp load-data consultation-papers
fca-mcp load-data firms-register
fca-mcp load-data enforcement-notices
# Delete all data
fca-mcp delete-elasticsearchThe system works with several types of FCA regulatory documents:
FCA Handbook (Index: fca_mcp_handbook):
Policy Statements (Index: fca_mcp_policy_statements):
Consultation Papers (Index: fca_mcp_consultation_papers):
Authorised Firms (Index: fca_mcp_authorised_firms):
Enforcement Notices (Index: fca_mcp_enforcement_notices):
Data Loading Process:
To keep the FCA data up-to-date, a daily ingestion mechanism is provided:
make ingest_dailyThis runs the equivalent of:
fca-mcp load-data handbook --incremental
fca-mcp load-data policy-documents --recent
fca-mcp load-data enforcement-notices --recentOnce connected to Claude, you can use natural language queries like:
FCA Handbook:
Policy and Consultation:
Firm Information:
Enforcement:
Regulatory Research:
View server logs:
docker-compose logs mcp-serverEnable debug mode in Claude config by adding --debug flag.
Check Elasticsearch status:
curl http://localhost:9200/_cat/health?v
# Or use the make command:
make es_healthMCP Connection Issues
/{MCP_ROOT_PATH}/mcp, not /MCP_ROOT_PATHData Loading Failures
.env file--ll DEBUG flag for detailed loggingElasticsearch issues
fca-mcp init-elasticsearchForward‑looking risk monitoring to anticipate regulatory change:
This module is available in the Enterprise edition and integrates with the same MCP interface for proactive alerts and research.
Interested in enterprise access or collaboration?
📅 Schedule a call: https://cal.com/trailblazelabs
MIT License - see LICENSE file for details
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.