MCP Servers Collection logo

MCP Servers Collection

by syedair

This repository provides a collection of Model Context Protocol (MCP) servers designed for use with LLMs like Amazon Q and Claude Desktop. These servers extend LLM capabilities by providing additional tools and resources.

View on GitHub

Last updated: N/A

MCP Servers Collection

This repository contains a collection of Model Context Protocol (MCP) servers that can be used with Amazon Q, Claude Desktop, and other LLMs that support the MCP protocol.

Available MCP Servers

  • Capital.com MCP Server: Exposes the Capital.com trading API as MCP tools for trading operations
    • Search for markets (e.g., EURUSD, AAPL)
    • Get account information and positions
    • Create and manage trading positions
    • Access watchlists

What is MCP?

Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs. MCP enables communication between the system and locally running MCP servers that provide additional tools and resources to extend LLM capabilities.

Prerequisites

Make sure you have uv installed on your system:

curl -LsSf https://astral.sh/uv/install.sh | sh

Using with Amazon Q

  1. Create an mcp.json configuration file in your Amazon Q configuration directory (~/.aws/amazonq/mcp.json):

    {
      "mcpServers": {
        "capital-com-mcp-server": {
          "command": "uvx",
          "args": ["capital-com-mcp-server"],
          "env": {
            "CAPITAL_BASE_URL": "https://demo-api-capital.backend-capital.com",
            "CAPITAL_API_KEY": "your_api_key_here",
            "CAPITAL_PASSWORD": "your_password_here",
            "CAPITAL_IDENTIFIER": "[email protected]",
            "FASTMCP_LOG_LEVEL": "ERROR"
          }
        }
      }
    }
    
  2. Run Amazon Q with:

    q chat
    
  3. Amazon Q will automatically start the MCP server and connect to it.

Using with Claude Desktop

  1. In Claude Desktop, go to Settings > Developer section and click on "Edit Config"

  2. This will open the configuration file. Add the following to the JSON:

    {
      "mcpServers": {
        "capital-com-mcp-server": {
          "command": "uvx",
          "args": ["capital-com-mcp-server"],
          "env": {
            "CAPITAL_BASE_URL": "https://demo-api-capital.backend-capital.com",
            "CAPITAL_API_KEY": "your_api_key_here",
            "CAPITAL_PASSWORD": "your_password_here",
            "CAPITAL_IDENTIFIER": "[email protected]",
            "FASTMCP_LOG_LEVEL": "ERROR"
          }
        }
      }
    }
    
  3. Save the file and restart Claude Desktop.

Example Conversation

You: Search for Apple stock on Capital.com

AI: I'll search for Apple stock on Capital.com for you.

[Uses capital-com-mcp-server___search_markets tool]

I found Apple Inc. (AAPL) on Capital.com. Here are the details:
- Epic: AAPL
- Market name: Apple Inc.
- Current bid price: $184.25
- Current ask price: $184.30
- Market status: OPEN

Would you like me to get more information about this stock or perform any trading operations?

Repository Structure

Each MCP server is organized as a separate Python package under the src/ directory:

mcp-servers/
├── README.md
└── src/
    ├── capital_com_mcp_server/
    │   ├── README.md
    │   ├── pyproject.toml
    │   ├── setup.py
    │   ├── capital_com_mcp_server/
    │   │   ├── __init__.py
    │   │   ├── capital_mcp_server.py
    │   │   └── capital_client.py
    │   └── ...
    └── other_mcp_server/
        ├── README.md
        ├── pyproject.toml
        ├── setup.py
        ├── other_mcp_server/
        │   ├── __init__.py
        │   └── ...
        └── ...

Development

To add a new MCP server to this collection:

  1. Create a new directory under src/ with your server name
  2. Add the necessary files for your MCP server implementation
  3. Include a pyproject.toml and setup.py in the server directory
  4. Add a README.md with usage instructions

Publishing

Each MCP server can be published to PyPI independently:

cd src/your_mcp_server
uv build
uv pip publish

GitHub Actions

This repository uses GitHub Actions to automatically build and publish packages to PyPI when a new release is created. The workflow is configured to use a matrix strategy, allowing each package to be built and published independently.

To add a new package to the publishing workflow, update the matrix in .github/workflows/python-publish.yml:

strategy:
  matrix:
    package: [capital_com_mcp_server, your_new_mcp_server]

Resources

License

This project is licensed under the MIT License - see the LICENSE file for details.