Bay Street MCP
Bay Street MCP
Un servidor del Protocolo de Contexto de Modelo (MCP) que permite a Claude (y a cualquier cliente MCP) citar regulaciones reales de servicios financieros canadienses: OSFI, PIPEDA, FINTRAC, Ley 25 de Quebec.
Evita que tu IA alucine respuestas de cumplimiento para fintechs canadienses.
Estado
🚧 Desarrollo inicial. El andamiaje del proyecto y la hoja de ruta de la v0.1 se incluyeron en el commit inicial. La primera versión funcional (v0.1.0) está prevista para dentro de unas 6 semanas, construida de forma incremental. Sigue el historial de commits para ver el progreso semanal.
Componente | Estado |
Andamiaje del proyecto, CI, licencia, dependencias, stub del servidor MCP | ✅ Enviado |
Ingesta de la Directriz E-21 de OSFI funcionando | 🚧 Siguiente |
Herramienta MCP | ⬜ Planificado |
Prueba de humo de extremo a extremo en Claude Desktop | ⬜ Planificado |
Texto completo de PIPEDA | ⬜ Planificado |
GuÃa AML/ATF de FINTRAC | ⬜ Planificado |
Ley 25 de Quebec | ⬜ Planificado |
Grabación de demostración + primer lanzamiento público (etiqueta v0.1.0) | ⬜ Planificado |
Si deseas esto para tus herramientas de IA de fintech canadiense, sigue o marca el repositorio como favorito. Los comentarios sustanciales sobre la hoja de ruta son bienvenidos a través de Issues.
Related MCP server: india-reg-mcp
Demostración
La demostración llegará con el lanzamiento de la v0.1.0: una grabación de pantalla de 90 segundos que muestra a Claude Desktop llamando a compliance_lookup y respondiendo a una pregunta regulatoria con una cita que remite al documento fuente.
Por qué construà esto
He pasado 20 años en servicios financieros canadienses (TD, Canada Life, Gore Mutual). Cada fintech canadiense con la que he hablado que está lanzando funciones de IA se topa con el mismo muro: su LLM inventa respuestas con confianza sobre la gestión de riesgos de la OSFI E-21 o las obligaciones de divulgación de PIPEDA porque los datos de entrenamiento tienen 100 veces más regulación de EE. UU./UE que de Canadá.
Este servidor MCP soluciona eso. Apunta a Claude hacia él, haz cualquier pregunta sobre la regulación financiera canadiense y obtén una respuesta fundamentada en el documento real con citas.
Inicio rápido (planificado para la v0.1, aún no funcional)
Las instrucciones a continuación describen cómo funcionará el servidor una vez que se lance la v0.1.0. No funcionan con el commit actual. El seguimiento del progreso se encuentra en la tabla de Estado anterior.
Clona e instala:
git clone https://github.com/ziamalik/bay-street-mcp.git cd bay-street-mcp uv syncDescarga un PDF de regulación. Para el ejemplo de la v0.1, obtén la Directriz E-21 de OSFI (Gestión de Riesgos Operativos y Resiliencia) desde https://www.osfi-bsif.gc.ca/.
Ingiérelo:
uv run bay-street-ingest data/osfi-e21.pdf \ --regulation "OSFI Guideline E-21" \ --jurisdiction CA \ --source-url "https://www.osfi-bsif.gc.ca/en/guidance/guidance-library/operational-risk-management-resilience"Agrégalo a tu
claude_desktop_config.json(normalmente en~/Library/Application Support/Claude/claude_desktop_config.jsonen macOS o%APPDATA%\Claude\claude_desktop_config.jsonen Windows):{ "mcpServers": { "bay-street": { "command": "uv", "args": ["--directory", "/absolute/path/to/bay-street-mcp", "run", "bay-street-mcp"] } } }Consulta
claude_desktop_config.example.jsonpara una invocación alternativa si has instalado el paquete globalmente.Reinicia Claude Desktop. Pregunta:
¿Qué dice la OSFI E-21 sobre la gestión de riesgos de IA?
Claude llamará a
compliance_lookupy responderá con citas.
Qué entregará la v0.1 (cuando se lance)
Una herramienta MCP:
compliance_lookup(query, top_k)que devuelve pasajes con metadatos de cita{regulation, jurisdiction, page, source_url}Una regulación soportada de forma nativa: Directriz E-21 de OSFI (tú cargas el PDF)
Almacén vectorial Chroma, persistente en disco
Transporte Stdio (funciona con Claude Desktop, Claude Code, Cursor, cualquier cliente MCP)
Alrededor de 400 lÃneas de Python
Las versiones posteriores añadirán PIPEDA, FINTRAC, la Ley 25 de Quebec, y luego se expandirán a OSFI E-23 (riesgo de modelo) y B-13 (riesgo tecnológico y cibernético). Consulta la Hoja de ruta a continuación.
Hoja de ruta
v0.1 (en progreso, ETA ~6 semanas):
[x] Andamiaje del proyecto, CI, licencia, dependencias, stub del servidor MCP
[ ] Ingesta de la Directriz E-21 de OSFI funcionando de extremo a extremo
[ ] Herramienta MCP
compliance_lookupdevolviendo pasajes citados reales[ ] Demostración de extremo a extremo en Claude Desktop (Loom)
[ ] Primer lanzamiento público (etiqueta v0.1.0)
v0.2 y posteriores:
[ ] Texto completo + resumen de PIPEDA
[ ] GuÃa AML/ATF de FINTRAC
[ ] Ley 25 de Quebec
[ ] OSFI E-23 (gestión de riesgos de modelo)
[ ] OSFI B-13 (riesgo tecnológico y cibernético)
[ ] Actualización automática desde sitios de reguladores con detección de diferencias
[ ] Puntos finales de recursos para la recuperación de documentos completos
[ ] Formato de citas (APA, texto plano)
[ ] Imagen Docker preconstruida
Cómo funciona
User question → Claude → MCP tool call → Chroma similarity search
→ top-k passages with metadata → Claude synthesizes answer with citationsEl script de ingesta divide cada regulación en fragmentos de ~800 palabras con una superposición de 100 palabras, y los almacena en Chroma con metadatos {regulation, jurisdiction, page, source_url}. La herramienta MCP devuelve pasajes con metadatos de cita completos, por lo que Claude puede citar números de página y URLs de origen en su respuesta.
Por qué MCP
MCP (Protocolo de Contexto de Modelo) se está convirtiendo en la interfaz estándar para conectar LLMs a contextos externos. Exponer esto como un servidor MCP significa que el mismo conocimiento de cumplimiento es utilizable desde Claude Desktop, Claude Code, Cursor y cualquier cliente MCP futuro sin tener que construir una integración personalizada cada vez.
Desarrollo
uv sync --all-extras
uv run pytest
uv run ruff check .Licencia
MIT. Úsala, haz un fork, publÃcala.
Acerca de
Creado por Zia Malik — 20 años en servicios financieros canadienses, actualmente construyendo AppVet (auditorÃas de seguridad de aplicaciones web impulsadas por IA) y escribiendo sobre ingenierÃa de IA de grado fintech.
Si trabajas en una fintech canadiense y quieres que esto se extienda para tu área regulatoria especÃfica, abre un issue o contáctame.
Available Tools
1 toolcompliance_lookupA
Search Canadian financial-services regulations (OSFI, PIPEDA, FINTRAC, Quebec Law 25) and return the most relevant passages with citation metadata. Use this tool whenever the user asks about Canadian financial regulation, compliance, AI/data governance for Canadian financial institutions, AML/ATF, operational risk, model risk, or related topics.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural-language question about Canadian financial-services compliance. | |
| top_k | No | Number of passages to return. Default 5, max 10. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-only operation by stating 'search and return', but does not explicitly confirm non-destructive behavior or disclose any side effects, rate limits, or auth requirements. It adds some value by mentioning citation metadata but lacks full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, each adding value. The first sentence states functionality, the second provides usage guidance. No unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description briefly mentions returning 'most relevant passages with citation metadata', but does not detail the output structure (e.g., fields, format, pagination). For a search tool, more specificity on the return value would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both 'query' and 'top_k' having descriptions. The description does not add any additional meaning beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches Canadian financial-services regulations, listing specific sources (OSFI, PIPEDA, FINTRAC, Quebec Law 25), and returns relevant passages with citation metadata. The verb 'search' and resource 'Canadian financial-services regulations' are specific, and there are no sibling tools to distinguish from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this tool whenever the user asks about Canadian financial regulation, compliance, AI/data governance for Canadian financial institutions, AML/ATF, operational risk, model risk, or related topics.' This provides clear guidance on when to use, even though no alternatives exist.
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 tool update
v0.1.0- First observed
compliance_lookup
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap with other tools.
The single tool name 'compliance_lookup' follows a clear verb_noun convention, which is consistent by default.
A single tool for a broad domain like Canadian financial regulations feels slightly thin, but it may be acceptable for a focused lookup utility.
The tool only supports lookup operations, lacking capabilities like listing categories, comparing regulations, or retrieving updates, which leaves significant gaps for comprehensive compliance work.
Maintenance
Related MCP Connectors
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Cited, standards-aware compliance overlay for AI assistants (ISO, NIST, FedRAMP, IRAP), over MCP.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- AlicenseBqualityDmaintenanceAn educational implementation of a Model Context Protocol server that demonstrates how to build a functional MCP server for integrating with various LLM clients like Claude Desktop.1162MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that gives Claude searchable, cited access to RBI and SEBI regulatory documents — circulars, master directions, notifications, and regulations.44 npm2MIT
- AlicenseAqualityDmaintenanceMCP server to fetch Japanese financial laws and regulations from the e-Gov API, preventing hallucinations in Claude's responses. Supports 9 domains including Financial Instruments and Exchange Act, Banking Act, etc.5MIT
- AlicenseAqualityBmaintenanceMCP server for token-efficient access to Open Finance Brasil rules, enabling coding agents to search and retrieve specific regulations, OpenAPI specs, and business rules through progressive disclosure.435 npmMIT