SPARK MCP

by Silex Partners

Model Context Protocol Server

✦ What is SPARK MCP?

SPARK MCP is a Model Context Protocol server that gives AI assistants direct access to SPARK financial product data — structured products, managed portfolios, and their event histories — via a secure, standards-based interface.

Connect any MCP-compatible client (Claude Desktop, Cursor, Windsurf, etc.) and your AI assistant can instantly query live product data without any custom integration.

✦ How To Connect

  1. Obtain credentials
    Use Silex SPARK's account to get your OAuth credentials for the MCP SPARK Server.

  2. Configure your MCP client
    Add the server URL to your client's MCP configuration. The server endpoint is POST /mcp — most clients discover the rest automatically via the /.well-known/ metadata endpoints.

  3. Authenticate with OAuth 2.0
    The server uses OAuth 2.0. Your client will be redirected to complete the authorization flow. Once authenticated, your token is automatically attached to every request.

  4. Start querying
    Ask your AI assistant natural-language questions about SPARK products. It will automatically pick the right tool and fetch the data for you.

✦ Available Tools

Your AI assistant has access to these five capabilities:

list_structured_products Browse the paginated catalog of structured financial products.
structured_product_details Retrieve full details for a specific product by ISIN.
structured_product_events View the complete event history for a product by ISIN (coupon payments, barriers, etc.).
actively_managed_products Browse the paginated catalog of actively managed portfolios.
actively_managed_product_details Retrieve full details for a managed portfolio by ISIN.

✦ Example Prompts

Try asking your AI assistant:

  • "Show me the first 10 structured products available in SPARK."

  • "What are the details for the product with ISIN XS1234567890?"

  • "List all the coupon events for product ISIN XS9876543210."

You are reading the agent-oriented documentation. This server implements the Model Context Protocol (MCP) over HTTP with OAuth 2.0 Bearer token authentication via Keycloak.

✦ Endpoint

POST /mcp
Content-Type: application/json
Authorization: Bearer <token>

All MCP traffic (initialize, tools/list, tools/call) goes to this single endpoint.

✦ Discovery & Auth

Standard OAuth 2.0 protected resource discovery is available:

GET /.well-known/oauth-authorization-server
GET /.well-known/openid-configuration
GET /.well-known/oauth-protected-resource/mcp

To obtain a token, register a client at POST /oauth/register (dynamic client registration), then exchange credentials at POST /oauth/token (proxied to Keycloak).

✦ Available Tools

list_structured_products Params: page (integer, optional). Returns paginated list of structured products.
structured_product_details Params: isin (string, required). Returns full product details.
structured_product_events Params: isin (string, required). Returns product event history.
actively_managed_products Params: page (integer, optional). Returns paginated list of managed portfolios.
actively_managed_product_details Params: isin (string, required). Returns managed portfolio details.

✦ Health Check

GET /mcp/health
→ 200 { "status": "ok" }

✦ Error Handling

Unauthorized requests receive 401 with a WWW-Authenticate header per RFC 9728. All tool responses follow the MCP protocol envelope — errors are returned as MCP error objects, not HTTP error codes.