
t-j-thomas/jama-mcp-server
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
Model Context Protocol server for Jama Connect Software
Обзор
This project provides a Model Context Protocol (MCP) server that exposes read-only tools for interacting with a Jama Connect instance. It acts as an MCP wrapper around the official Jama Software py-jama-rest-client library. This is a third-party, open-source project and is not officially affiliated with or endorsed by Jama Software. This server currently only supports read-only operations. Write operations may be added in future updates. This MCP server is as a package on PyPI or other indices. This decision encourages users to: 1. Obtain the code directly. 2. Understand exactly what the server does before running it, especially concerning API interactions and credential handling. 3. Modify the code for specific enterprise requirements or security postures. This approach prioritizes security awareness and user control over convenience, mitigating risks associated with installing potentially unverified third-party packages.
README
Показан фрагмент оригинального README. Открыть оригинал.
Jama Connect MCP Server (Unofficial)
This project provides a Model Context Protocol (MCP) server that exposes read-only tools for interacting with a Jama Connect instance. It acts as an MCP wrapper around the official Jama Software py-jama-rest-client library.
Disclaimer: This is a third-party, open-source project and is not officially affiliated with or endorsed by Jama Software.
Note: This server currently only supports read-only operations. Write operations may be added in future updates.
Philosophy: Local Execution & Security
This MCP server is intentionally not published as a package on PyPI or other indices. This decision encourages users to:
- Clone/Fork the Repository: Obtain the code directly.
- Inspect the Code: Understand exactly what the server does before running it, especially concerning API interactions and credential handling.
- Adapt as Needed: Modify the code for specific enterprise requirements or security postures.
This approach prioritizes security awareness and user control over convenience, mitigating risks associated with installing potentially unverified third-party packages. Local execution by cloning the repository is the only supported method at this time.
Prerequisites
Building From Source
- Python: Version 3.12 or higher.
- uv: The Python package installer and virtual environment manager. (Installation Guide)
- Git: For cloning the repository.
- Docker For running with docker
Setup
Docker
-
Clone the Repository:
git clone https://github.com/t-j-thomas/jama-mcp-server.git cd jama-mcp-server -
Docker Build:
sudo docker build -t jama-mcp-server .This will build the docker image using the project’s pyproject.tonl & uv.lock configrations
-
For Build issues due to Certificates for the Jama Rest Client Repo:
If you see an error like
certificate verification failed: CAFile, you can optionally clone the https://github.com/jamasoftware-ps/py-jama-rest-client.git repo into this directory, and uncomment# py-jama-rest-client = { path = "./py-jama-rest-client", editable = true }from
pyproject.tomlfile and comment outpy-jama-rest-client = { git = "https://github.com/jamasoftware-ps/py-jama-rest-client.git" }.Then,
uv sync sudo docker build -t jama-mcp-server .
Building From Source
-
Clone the Repository:
git clone https://github.com/t-j-thomas/jama-mcp-server.git cd jama-mcp-server -
Install Dependencies: Navigate into the server directory and use
uvto create a virtual environment and install dependencies.uv sync
Установка
docker run --rm -i -e JAMA_URL -e JAMA_CLIENT_ID -e JAMA_CLIENT_SECRET -e JAMA_MOCK_MODE jama-mcp-serverКонфигурация
{
"mcpServers": {
"jama-mcp": {
"command": "docker",
"args": ["run", "--rm", "-i",
"-e", "JAMA_URL", "-e", "JAMA_CLIENT_ID", "-e", "JAMA_CLIENT_SECRET", "-e", "JAMA_MOCK_MODE",
"jama-mcp-server"
],
"env": {
"JAMA_URL": "https://your-jama-instance.com",
"JAMA_CLIENT_ID": "your-client-id",
"JAMA_CLIENT_SECRET": ""
}
},
}
}