JSON Converter MCP Server
An MCP (Model Context Protocol) server that converts JSON payloads into various target formats: SOAP XML envelopes, structured files, SQL queries, and message-queue messages.
Built with FastMCP against the MCP Specification 2026-07-28 RC.
Project Structure
research-and-development-11-mcp/
├── mcp_server/
│ ├── mcp_server.py # FastMCP server entry point & tool definitions
│ ├── mcp_tools_soap_adapter/ # JSON → SOAP XML
│ ├── mcp_tools_file_adapter/ # JSON → CSV / YAML / TOML
│ ├── mcp_tools_sql_adapter/ # JSON → SQL
│ └── mcp_tools_queue_adapter/ # JSON → AMQP / Kafka / SQS
├── mcp_client/
├── pyproject.toml
└── README.md
Tools
| Tool | Description | Status | Details |
|---|---|---|---|
json_to_soap_xml |
Convert a JSON payload into a SOAP 1.1 or 1.2 XML envelope | ✅ Implemented | README |
json_to_other_files |
Convert a JSON payload into CSV, YAML, or TOML | 🚧 Planned | README |
json_to_sql_query |
Generate an INSERT, UPDATE, or CREATE TABLE SQL statement | 🚧 Planned | README |
json_to_msgqueue |
Serialize a JSON payload into an AMQP, Kafka, or SQS message | 🚧 Planned | README |
Requirements
- Python 3.13+
- uv (recommended package manager)
Setup
# Clone the repository
git clone https://github.com/finastra-ai/research-and-development-11-mcp.git
cd research-and-development-11-mcp
# Install dependencies
uv sync
# (Optional) Install pre-commit hooks
pip install pre-commit && pre-commit install
Running the Server
# Run via stdio transport (default)
uv run python mcp_server/mcp_server.py
Build Windows EXE (PyInstaller)
You can package the MCP server as a standalone Windows executable (.exe) using PyInstaller.
1. Ensure dependencies are installed
uv sync
pyinstaller is included in dev dependencies via pyproject.toml.
2. Build the executable
uv run pyinstaller --onefile --name json-converter-mcp mcp_server/mcp_server.py
3. Output
- Executable:
dist/json-converter-mcp.exe - Build metadata/logs:
build/ - Generated spec file:
json-converter-mcp.spec
4. Run the executable
.\dist\json-converter-mcp.exe
This server uses stdio transport (same behavior as running the Python script), so the process stays active waiting for MCP client communication.
Notes
- Build on Windows to produce a Windows
.exe. - If you change imports or add new runtime data files, rebuild the
.exe. - You can customize packaging options by editing
json-converter-mcp.specand rebuilding from the spec.
Running with MCP Inspector
MCP Inspector is a visual tool for exploring and testing MCP servers interactively.
Prerequisites
npm install -g @modelcontextprotocol/inspector
Launch
npx @modelcontextprotocol/inspector uv run python mcp_server/mcp_server.py
This starts the Inspector UI (default: http://localhost:5173) connected to the server over stdio.
What you can do in Inspector
- List tools — browse all registered tools and their input schemas
- Call tools — fill in parameters via a form and execute a tool directly
- Inspect results — view raw JSON responses and any errors
- Read server info — check the server name, version, and declared capabilities
Dependencies
| Package | Version |
|---|---|
fastmcp |
>=3.4.4 |
Development
# Run pre-commit checks against all files
pre-commit run --all-files
Metadata
Release files for research-and-development-11-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| research_and_development_11_mcp-0.1.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| research_and_development_11_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.4 kB
Release files / research_and_development_11_mcp-0.1.0.tar.gz
| Download URL | research_and_development_11_mcp-0.1.0.tar.gz |
|---|---|
| Size | 6.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4ca4950ba197990f823231cdafef1c87ffb17fa6d8784f707886c6e31503ff8d
|
|
BLAKE2b-256 checksum How to use checksums |
99600eddaf2ef654c2df0e627df78122af540e3e85598e91a44c9e9fa1b7641a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / research_and_development_11_mcp-0.1.0-py3-none-any.whl
| Download URL | research_and_development_11_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 6.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
068572788392f65d27102e442646d17f305eee30b8e7c4f45547ad0262462ab8
|
|
BLAKE2b-256 checksum How to use checksums |
aba52cfc892bf7729dd057d4d52e8c29edea96e7d994b89b1eb68d469a554c36
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|