Skip to main content
Glama
ziamalik

Bay Street MCP

by ziamalik

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.

CI License: MIT Python 3.13+ Status: Early Development

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 compliance_lookup devolviendo pasajes citados reales

⬜ 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.

  1. Clona e instala:

    git clone https://github.com/ziamalik/bay-street-mcp.git
    cd bay-street-mcp
    uv sync
  2. Descarga 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/.

  3. 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"
  4. Agrégalo a tu claude_desktop_config.json (normalmente en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows):

    {
      "mcpServers": {
        "bay-street": {
          "command": "uv",
          "args": ["--directory", "/absolute/path/to/bay-street-mcp", "run", "bay-street-mcp"]
        }
      }
    }

    Consulta claude_desktop_config.example.json para una invocación alternativa si has instalado el paquete globalmente.

  5. Reinicia Claude Desktop. Pregunta:

    ¿Qué dice la OSFI E-21 sobre la gestión de riesgos de IA?

    Claude llamará a compliance_lookup y 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_lookup devolviendo 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 citations

El 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 tool
compliance_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural-language question about Canadian financial-services compliance.
top_kNoNumber of passages to return. Default 5, max 10.

TDQS

A4.1/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/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 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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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. 1 tool updatev0.1.0
    • First observedcompliance_lookup

TDQS

A4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap with other tools.

Naming Consistency5/5

The single tool name 'compliance_lookup' follows a clear verb_noun convention, which is consistent by default.

Tool Count3/5

A single tool for a broad domain like Canadian financial regulations feels slightly thin, but it may be acceptable for a focused lookup utility.

Completeness2/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude searchable, cited access to RBI and SEBI regulatory documents — circulars, master directions, notifications, and regulations.
    44 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP 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.
    5
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP 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.
    4
    35 npm
    MIT