Token导航 LogoToken导航TokenDH.com
Jama MCP Server logo
AI代理stdio官方来源来源级核验

Jama MCP Server

MCP Server

一个为Jama Connect提供只读访问的Model Context Protocol (MCP)服务器,通过官方py-jama-rest-client库实现。

工具数

0

提示词数

0

GitHub Stars

17

资源数

0
只读访问PythonClaudeClaude DesktopClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

t-j-thomas

提供方

t-j-thomas

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run python -m jama_mcp_server.server

详细介绍

Jama Connect MCP服务器(非官方)

此项目提供了一个模型上下文协议(MCP)服务器,该服务器公开了用于与Jama Connect实例交互的只读工具。它充当着MCP对官员的包装 Jama软件 py-jama-rest-client 图书馆。

免责声明: 这是一个第三方开源项目,与Jama Software没有正式关联或认可。

注: 此服务器当前仅支持只读操作。在未来的更新中可能会添加写入操作。

哲学:本地执行与安全

此MCP服务器是 故意不发表 作为PyPI或其他索引上的包。这一决定鼓励用户:

  1. 克隆/分叉存储库: 直接获取代码。
  2. 检查代码: 在运行服务器之前,请确切了解服务器的操作,尤其是有关API交互和凭据处理的操作。
  3. 根据需要进行调整: 根据特定的企业要求或安全态势修改代码。

这种方法将安全意识和用户控制置于便利性之上,从而降低了与安装可能未经验证的第三方软件包相关的风险。通过克隆存储库进行本地执行是目前唯一受支持的方法。

先决条件

从源头构建

  • python 版本3.12或更高版本。
  • 紫外线: Python包安装程序和虚拟环境管理器。 (安装指南)
  • Git: 用于克隆存储库。
  • 码头工人 用于运行docker

设置

码头工人

  1. 克隆存储库:
   git clone https://github.com/t-j-thomas/jama-mcp-server.git
   cd jama-mcp-server
  1. Docker构建:
   sudo docker build -t jama-mcp-server .

这将使用项目的pyproject.tonl&uv.lock配置构建docker镜像

  1. 对于因Jama Rest客户代表证书而导致的构建问题:

如果你看到一个错误,比如 certificate verification failed: CAFile,您可以选择 克隆https://github.com/jamasoftware-ps/py-jama-rest-client.git将repo存储到此目录中,然后取消注释

# py-jama-rest-client = { path = "./py-jama-rest-client", editable = true }

pyproject.toml 归档并注释

py-jama-rest-client = { git = "https://github.com/jamasoftware-ps/py-jama-rest-client.git" }.

然后,

   uv sync
   sudo docker build -t jama-mcp-server .

从源头构建

  1. 克隆存储库:
   git clone https://github.com/t-j-thomas/jama-mcp-server.git
   cd jama-mcp-server
  1. 安装依赖关系:

导航到服务器目录并使用 uv 创建虚拟环境并安装依赖项。

   uv sync

这将安装所需的依赖项,包括 boto3 如果您计划使用AWS参数存储作为凭据。

配置

服务器需要环境变量才能使用以下命令连接到您的Jama connect实例 OAuth 2.0。凭据可以直接提供,也可以从AWS参数存储中安全获取。

身份验证方法:

  1. 直接环境变量:

- JAMA_URL (必填):您的Jama Connect实例的基本URL(例如。, https://yourcompany.jamacloud.com). - JAMA_CLIENT_ID (此方法必需):您的Jama API OAuth客户端ID。 - JAMA_CLIENT_SECRET (此方法必需):您的Jama API OAuth客户端机密。 - 如果两者都有 JAMA_CLIENT_IDJAMA_CLIENT_SECRET 设置后,它们将被直接使用,AWS参数存储配置将被忽略。

  1. AWS参数存储(Docker不支持):

- 使用此方法 只有当 JAMA_CLIENT_IDJAMA_CLIENT_SECRET 是 *不* 两者都直接设置在环境中。 - JAMA_URL (必填):您的Jama Connect实例的基本URL。 - JAMA_AWS_SECRET_PATH (此方法需要):AWS参数存储中包含您的Jama凭据的秘密的全名/路径。 - 秘密值 必须 是一个具有以下结构的JSON字符串: {"client_id": "YOUR_JAMA_CLIENT_ID", "client_secret": "YOUR_JAMA_CLIENT_SECRET"}. - JAMA_AWS_PROFILE (可选):用于向AWS进行身份验证的AWS命名配置文件。如果未设置, boto3 将使用其默认凭据解析。您当前的aws会话凭据需要有效(或在过期时刷新) - 注: 使用此方法需要 boto3 要安装的库(uv sync 处理此问题)以及服务器执行环境访问指定参数存储机密的适当AWS权限。

服务器首先检查 JAMA_CLIENT_IDJAMA_CLIENT_SECRET。如果两者都存在,则使用它们。否则,它会检查 JAMA_AWS_SECRET_PATH 并尝试从AWS获取凭据。如果两种方法都不提供必要的凭据(并且模拟模式关闭),服务器将无法启动。

模拟模式(可选):

对于不连接到实时Jama实例的测试:

  • JAMA_MOCK_MODE:设置为 true 使用内置的模拟客户端。服务器将返回预定义的示例数据。任何其他值(或省略变量)都会禁用模拟模式。

设置环境变量:

在MCP客户端将启动服务器进程的环境中设置这些变量。这可能是:

  • 您的终端会话(export JAMA_URL=...).
  • 直接在MCP客户端的服务器配置中(见下文)。

运行服务器(独立)

您可以使用以下命令直接运行服务器进行基本检查 uv (确保设置了环境变量):

# Ensure you are in the jama-mcp-server directory
uv run python -m jama_mcp_server.server

测试与 test_mcp_client.py

此存储库包含一个测试客户端脚本(test_mcp_client.py)这可用于通过stdio直接调用服务器的工具,主要用于调试或快速检查,尤其是在模拟模式下。

要运行测试客户端,请执行以下操作:

# 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.py

该脚本将启动服务器,调用各种预定义的工具(包括模拟模式下的成功和预期失败案例),打印结果,并提供摘要。您可以修改此脚本以测试特定的工具或场景。

与MCP客户端集成(本地执行)

配置您的MCP客户端(如Cline、RooCode、Claude Desktop)以通过其设置启动此服务器(例如。, mcp_settings.json).

Docker配置示例(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": ""
      }
    },
  }
}

UV配置示例(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"
      }
    }
  }
}

要点:

  • cwd 路径对于 uv 查找项目上下文。
  • 确保服务器进程可以使用所需的Jama环境变量。

可用工具

此服务器提供各种只读工具。连接后,请查看您的MCP客户端界面以获取完整列表。例子包括 get_jama_projects, get_jama_item, get_jama_relationships等等。

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。

贡献

欢迎投稿和反馈!请查看 贡献.md 文件指南。

故障排除

  • 连接/身份验证错误:

- 验证 JAMA_URL 是正确的。 - 检查是否 JAMA_CLIENT_IDJAMA_CLIENT_SECRET 设置正确。这些优先。 - 如果未设置直接变量,请检查AWS参数存储配置: - 验证 JAMA_AWS_SECRET_PATH 是正确的。 - 确保服务器的执行环境具有读取机密的权限(检查IAM角色/策略)。 - 验证密钥值是否为有效的JSON: {"client_id": "...", "client_secret": "..."}. - 检查是否 boto3 安装正确(uv sync). - 如果使用 JAMA_AWS_PROFILE,确保配置文件存在并且配置正确。 - 如果两种方法都不提供凭据,服务器将无法启动(检查日志)。 - 检查Jama Connect本身中的Jama API客户端权限。

  • 工具错误: 检查传递给工具的参数。有关更多详细信息,请参阅服务器日志(stderr)。
  • 模拟模式不起作用: 确保 JAMA_MOCK_MODE 环境变量设置为精确 true.

目录标签

目录标签

只读访问PythonClaudeJamaConnect本地部署MCP服务器RESTAPI封装

支持客户端

Claude DesktopClaudeCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP