jama-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@jama-mcp-servershow requirements in project Mobile App"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: appd-mcp
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-serverDocker 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-serverInstall Dependencies: Navigate into the server directory and use
uvto create a virtual environment and install dependencies.uv syncThis installs required dependencies, including
boto3if you plan to use AWS Parameter Store for credentials.
Configuration
The server requires environment variables to connect to your Jama Connect instance using OAuth 2.0. Credentials can be provided directly or fetched securely from AWS Parameter Store.
Authentication Methods:
Direct Environment Variables:
JAMA_URL(Required): The base URL of your Jama Connect instance (e.g.,https://yourcompany.jamacloud.com).JAMA_CLIENT_ID(Required for this method): Your Jama API OAuth Client ID.JAMA_CLIENT_SECRET(Required for this method): Your Jama API OAuth Client Secret.If both
JAMA_CLIENT_IDandJAMA_CLIENT_SECRETare set, they will be used directly, and the AWS Parameter Store configuration will be ignored.
AWS Parameter Store (Not Supported for Docker):
This method is used only if
JAMA_CLIENT_IDandJAMA_CLIENT_SECRETare not both set directly in the environment.JAMA_URL(Required): The base URL of your Jama Connect instance.JAMA_AWS_SECRET_PATH(Required for this method): The full name/path of the secret in AWS Parameter Store containing your Jama credentials.The secret value must be a JSON string with the following structure:
{"client_id": "YOUR_JAMA_CLIENT_ID", "client_secret": "YOUR_JAMA_CLIENT_SECRET"}.
JAMA_AWS_PROFILE(Optional): The AWS named profile to use for authenticating to AWS. If not set,boto3will use its default credential resolution. Your current aws session credentials need to be valid (or refreshed if expired)Note: Using this method requires the
boto3library to be installed (uv synchandles this) and appropriate AWS permissions for the server's execution environment to access the specified Parameter Store secret.
The server first checks for JAMA_CLIENT_ID and JAMA_CLIENT_SECRET. If both are present, they are used. Otherwise, it checks for JAMA_AWS_SECRET_PATH and attempts to fetch credentials from AWS. If neither method provides the necessary credentials (and Mock Mode is off), the server will fail to start.
Mock Mode (Optional):
For testing without connecting to a live Jama instance:
JAMA_MOCK_MODE: Set totrueto use the built-in mock client. The server will return predefined sample data. Any other value (or omitting the variable) disables mock mode.
Setting Environment Variables:
Set these variables in the environment where the MCP client will launch the server process. This could be:
Your terminal session (
export JAMA_URL=...).Directly within the MCP client's server configuration (see below).
Running the Server (Standalone)
You can run the server directly for basic checks using uv (ensure environment variables are set):
# Ensure you are in the jama-mcp-server directory
uv run python -m jama_mcp_server.serverTesting with test_mcp_client.py
This repository includes a test client script (test_mcp_client.py) that can be used to directly invoke the server's tools via stdio, primarily for debugging or quick checks, especially in mock mode.
To run the test client:
# Ensure you are in the jama-mcp-server directory
# This script automatically sets JAMA_MOCK_MODE=true for the server it launches
uv run python test_mcp_client.pyThe script will start the server, call various predefined tools (including success and expected failure cases in mock mode), print the results, and provide a summary. You can modify this script to test specific tools or scenarios.
Integration with MCP Clients (Local Execution)
Configure your MCP client (like Cline, RooCode, Claude Desktop) to launch this server via its settings (e.g., mcp_settings.json).
Example Docker Configuration (mcp_settings.json):
{
"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": ""
}
},
}
}Example UV Configuration (mcp_settings.json):
{
"mcpServers": {
"jama-mcp": {
"command": "uv",
"args": [
"run",
"python",
"-m",
"jama_mcp_server.server"
],
"cwd": "/path/to/your/clone/jama-mcp-server",
"env": {
"JAMA_URL": "https://your.jama.instance.com",
"JAMA_CLIENT_ID": "your_client_id",
"JAMA_CLIENT_SECRET": "your_client_secret",
"JAMA_AWS_SECRET_PATH": "/path/to/your/jama/secret",
"JAMA_AWS_PROFILE": "your-aws-profile-name",
"JAMA_MOCK_MODE": "false"
}
}
}
}Key Points:
The
cwdpath is critical foruvto find the project context.Ensure the required Jama environment variables are available to the server process.
Available Tools
This server provides various read-only tools. See your MCP client interface for the full list after connecting. Examples include get_jama_projects, get_jama_item, get_jama_relationships, etc.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions and feedback are welcome! Please see the CONTRIBUTING.md file for guidelines.
Troubleshooting
Connection/Authentication Errors:
Verify
JAMA_URLis correct.Check if
JAMA_CLIENT_IDandJAMA_CLIENT_SECRETare set correctly. These take priority.If direct variables are not set, check AWS Parameter Store configuration:
Verify
JAMA_AWS_SECRET_PATHis correct.Ensure the server's execution environment has permissions to read the secret (check IAM roles/policies).
Verify the secret value is valid JSON:
{"client_id": "...", "client_secret": "..."}.Check if
boto3is installed correctly (uv sync).If using
JAMA_AWS_PROFILE, ensure the profile exists and is configured correctly.
If neither method provides credentials, the server will fail to start (check logs).
Check Jama API client permissions in Jama Connect itself.
Tool Errors: Check arguments passed to the tool. Consult server logs (stderr) for more details.
Mock Mode Not Working: Ensure
JAMA_MOCK_MODEenvironment variable is set to exactlytrue.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/t-j-thomas/jama-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server