cardpilot-remote-mcp-server

WaltXin/cardpilot-remote-mcp-server

3.1

If you are the rightful owner of cardpilot-remote-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This document provides a comprehensive overview of setting up a remote Model Context Protocol (MCP) server on Cloudflare without authentication.

CardPilot Remote MCP Server

This is a remote MCP (Model Context Protocol) server for CardPilot. It exposes tools to fetch and analyze credit card data.

Server URL

Public URL: https://mcp.cardpilot.ca/sse

Note: This server uses a custom domain to ensure compatibility with OpenAI Agent Builder.

Available Tools

1. get-cards

Fetches a list of credit cards with detailed metadata, suitable for ranking and comparison.

Input parameters:

ParameterTypeDescription
sortstring (enum)Sort criteria: recommended, welcome_offer, interest_rate, annual_fee, net_value
directionstring (enum)Sort direction: asc, desc
idsstringComma-separated list of card IDs (e.g., card-a,card-b)
bankstringFilter by bank name (e.g., "TD", "RBC")
categorystringFilter by category (e.g., "travel", "cash back")
noFeebooleanSet to true to filter for no-annual-fee cards
limitnumberMaximum number of cards to return (default: 5)
personastring (enum)Target persona for tailored ranking: average, student, newcomer, premium

Output structure:

{
  "cards": [
    {
      "cardId": "string",
      "name": "string",
      "bank": "string",
      "annualFee": number,
      "score": number,
      "details": { "rewards": number, "perks": number, "fees": number, ... }
    }
  ],
  "meta": { "total": number, "sort": "string", "direction": "string" }
}

2. get-guides

Fetches a list of educational guide metadata. This tool is optimized for chatbots to provide links to full articles.

Input parameters: None

Output structure:

{
  "guides": [
    {
      "slug": "string",
      "title": "string",
      "intro": "string",
      "icon": "string (emoji)",
      "url": "string"
    }
  ]
}

Agent System Prompt

If you are using this MCP server with an LLM Agent (like OpenAI Custom GPT), add the following to your System Instructions:

You are an expert credit card advisor powered by CardPilot data.

1. **Card Recommendations**:
   - ALWAYS use the `get-cards` tool to fetch real-time data before making recommendations.
   - Set `limit=5` by default to ensure concise recommendations.
   - If the user specifies or asks for a specific persona (e.g., student, newcomer), set the `persona` parameter (e.g., `persona="student"`).
   - Use the `sort` parameter to align with user priorities (e.g., `sort="annual_fee"` for cheap cards).
   - Use filters like `bank="TD"` or `category="travel"` to narrow down results.
   - For "no fee" requests, explicitly set `noFee=true`.
   - When presenting cards, list the Name, Annual Fee, Welcome Bonus, and a brief "Why it fits" explanation.
   - Link the card name to the `applyUrl` or CardPilot detail page if available.

2. **Educational Content**:
   - If a user asks general questions (e.g., "Cash back vs Points"), use `get-guides` to see if there is a relevant article.
   - Provide the answer based on the guide's `intro` and encourage the user to read the full guide by providing the `url`.

3. **General Rules**:
   - Do not make up card details. If data is missing, state that.
   - Be concise and helpful.

How to Use

OpenAI Agent Builder

  1. Create a new Agent.
  2. Under Actions, click Add Action.
  3. Select "Add from URL".
  4. Enter: https://mcp.cardpilot.ca/sse
  5. It should load the get-cards tool immediately.

Cloudflare AI Playground

  1. Go to https://playground.ai.cloudflare.com/
  2. Enter the server URL: https://mcp.cardpilot.ca/sse
  3. Click Connect.

Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "cardpilot": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.cardpilot.ca/sse"
      ]
    }
  }
}

Troubleshooting

OpenAI 424 Error ("Unable to load tools")

If you see this error, ensure you are using the Custom Domain URL (mcp.cardpilot.ca). OpenAI blocks generic .workers.dev domains for MCP servers.

Local Development

To test locally:

  1. Install dependencies:
npm install
  1. Start local server:
npm start

(Runs on port 8787)

  1. Expose via Ngrok (Required for OpenAI testing):
ngrok http 8787

Use the Ngrok URL (e.g., https://xxxx.ngrok-free.app/sse) in Agent Builder.

Deployment

Deploy to Cloudflare Workers:

npm run deploy

The server will be live at https://mcp.cardpilot.ca/sse.