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.
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
-
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" } } } }
-
Run Amazon Q with:
q chat
-
Amazon Q will automatically start the MCP server and connect to it.
Using with Claude Desktop
-
In Claude Desktop, go to Settings > Developer section and click on "Edit Config"
-
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" } } } }
-
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:
- Create a new directory under
src/
with your server name - Add the necessary files for your MCP server implementation
- Include a
pyproject.toml
andsetup.py
in the server directory - 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.