- Home
- MCP servers
- XTRF
XTRF
- python
0
GitHub Stars
python
Language
7 months ago
First Indexed
3 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"heesookiim-xtrf-home-portal-api": {
"command": "python",
"args": [
"mcp_server/main.py",
"stdio"
],
"env": {
"CONFIG": "{\"transport\":\"stdio\"}",
"SECURITY": "YOUR_SECURITY_CONFIG",
"CONFIG_PATH": "YOUR_CONFIG_PATH.json"
}
}
}
}This MCP server exposes a programmable interface based on the Model Context Protocol, enabling you to serve the XTRF OpenAPI-backed data model to MCP clients. It supports running locally in a standard input/output mode and can be configured via environment variables to point to your JSON config and security settings.
How to use
Connect to the MCP server from your MCP client using the stdio transport or other supported transports. When using stdio, the server runs as a local process and communicates with your client through standard input and output streams. You can also configure the server to receive its runtime configuration from a JSON file or environment variables.
How to install
Prerequisites include Python 3.9 or newer and the Python package manager, pip. You can run the server directly from source using Python.
# Prerequisites
# Ensure you have Python 3.9+ installed
python --version
# Install dependencies (from a typical development setup)
pip install -e ".[dev]"
# Alternatively, install via uv if you prefer
uv pip install --editable ".[dev]"
Running the server
Start the MCP server in stdio mode using Python. You can pass configuration via a JSON file or environment variables as shown.
python mcp_server/main.py stdio
Configuring runtime options
Configure the server with environment variables to control paths and security. Use a JSON configuration file for complex setups.
# Example environment variables
export CONFIG_PATH=/path/to/mcp_config.json
export CONFIG='{"transport":"stdio"}'
export SECURITY='{"apiKey":"YOUR_API_KEY"}'
# Then run the server in your shell
python mcp_server/main.py stdio
Notes on configuration and startup
The entry point checks for configuration in the following order: a JSON file path, a JSON string, or environment-provided values. The main script’s __name__ block handles loading these values and starting the MCP server accordingly.
Development and quality tooling
The project uses linting, static type checking, and tests to maintain code quality and stability.
# Linting
ruff check
ruff format
# Static analysis
./scripts/static-analysis.sh
# Running tests with coverage
./scripts/test.sh
./scripts/test-cov.sh
Pre-commit hooks and building
Pre-commit hooks help enforce code quality before commits. The build and publishing flow uses a packaging tool to create distributable artifacts.
pre-commit install
Troubleshooting and notes
If the server does not start as expected, confirm that your Python version is 3.9 or newer, and verify that CONFIG_PATH or CONFIG is provided correctly. Check any SECURITY settings if you expect authentication to be required.
Available tools
ruff
Linting and formatting tool used to check code quality and automatically format source files.
mypy
Static type checker used to enforce type safety across the codebase.
pytest
Testing framework used to run unit tests and generate coverage reports.
pre-commit
Framework that runs a set of checks before each commit to enforce code quality.
hatch
Build and publish tool used to create and distribute MCP artifacts.