Connects to the 1forge.com API (through Swagger specification), providing access to real-time forex quotes and currency conversion capabilities.
MCP Server
This project is an MCP (Multi-Agent Conversation Protocol) Server for the given OpenAPI URL - https://api.apis.guru/v2/specs/1forge.com/0.0.1/swagger.json, auto-generated using AG2's MCP builder.
Prerequisites
Python 3.9+
pip and uv
Installation
Clone the repository:
git clone <repository-url> cd mcp-serverInstall dependencies: The .devcontainer/setup.sh script handles installing dependencies using
pip install -e ".[dev]". If you are not using the dev container, you can run this command manually.pip install -e ".[dev]"Alternatively, you can use
uv:uv pip install --editable ".[dev]"
Development
This project uses ruff for linting and formatting, mypy for static type checking, and pytest for testing.
Linting and Formatting
To check for linting issues:
To format the code:
These commands are also available via the scripts/lint.sh script.
Static Analysis
To run static analysis (mypy, bandit, semgrep):
This script is also configured as a pre-commit hook in .pre-commit-config.yaml.
Running Tests
To run tests with coverage:
This will run pytest and generate a coverage report. For a combined report and cleanup, you can use:
Pre-commit Hooks
This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:
The hooks will run automatically before each commit.
Running the Server
The MCP server can be started using the mcp_server/main.py script. It supports different transport modes (e.g., stdio, sse, streamable-http).
To start the server (e.g., in stdio mode):
The server can be configured using environment variables:
CONFIG_PATH: Path to a JSON configuration file (e.g., mcp_server/mcp_config.json).CONFIG: A JSON string containing the configuration.SECURITY: Environment variables for security parameters (e.g., API keys).
Refer to the if __name__ == "__main__": block in mcp_server/main.py for details on how these are loaded.
The tests/test_mcp_server.py file demonstrates how to start and interact with the server programmatically for testing.
Building and Publishing
This project uses Hatch for building and publishing. To build the project:
To publish the project:
These commands are also available via the scripts/publish.sh script.
This server cannot be installed
An MCP (Multi-Agent Conversation Protocol) Server that provides an interface to the 1Forge financial APIs, allowing access to forex data and currency conversion services through natural language interactions.
Related MCP Servers
- -security-license-qualityAn MCP server implementation that integrates with Angle One APIs to provide standardized access to financial market data, trading operations, and portfolio management.Last updated -
Armor Crypto MCPofficial
Asecurity-licenseAqualityAn MCP server providing unified access to blockchain operations, bridging, swapping, and crypto trading strategies for AI agents.Last updated -37181GPL 3.0- -security-license-qualityAn MCP (Multi-Agent Conversation Protocol) Server that enables AI agents to interact with Google's Cloud Translation API for translating text between languages.Last updated -
- -security-license-qualityAn MCP server that provides real-time currency exchange rates from the Frankfurter API, enabling applications to convert between multiple currencies with accurate, up-to-date information.