Open Policy Agent (OPA) REST API MCP Server

MCP 服务器

该项目是针对给定 OpenAPI URL 的 MCP(多代理对话协议)服务器 - https://api.apis.guru/v2/specs/openpolicy.local/0.28.0/openapi.json ,使用 AG2 的MCP 构建器自动生成。

先决条件

  • Python 3.9+
  • pip 和 uv

安装

  1. 克隆存储库:
    git clone <repository-url> cd mcp-server
  2. 安装依赖项: .devcontainer/setup.sh脚本使用pip install -e ".[dev]"来安装依赖项。如果您没有使用 dev 容器,则可以手动运行此命令。
    pip install -e ".[dev]"
    或者,您可以使用uv
    uv pip install --editable ".[dev]"

发展

该项目使用ruff进行 linting 和格式化,使用mypy进行静态类型检查,使用pytest进行测试。

代码检查和格式化

要检查 linting 问题:

ruff check

格式化代码:

ruff format

这些命令也可以通过scripts/lint.sh脚本获得。

静态分析

运行静态分析(mypy、bandit、semgrep):

./scripts/static-analysis.sh

该脚本还在.pre-commit-config.yaml中配置为预提交钩子。

运行测试

要运行覆盖测试:

./scripts/test.sh

这将运行 pytest 并生成覆盖率报告。如果需要合并报告和清理,可以使用:

./scripts/test-cov.sh

预提交钩子

该项目使用.pre-commit-config.yaml中定义的预提交钩子。要安装钩子:

pre-commit install

每次提交之前钩子都会自动运行。

运行服务器

MCP 服务器可以通过mcp_server/main.py脚本启动。它支持多种传输模式(例如stdiosse )。

启动服务器(例如,在 stdio 模式下):

python mcp_server/main.py stdio

可以使用环境变量来配置服务器:

  • CONFIG_PATH :JSON 配置文件的路径(例如mcp_server/mcp_config.json )。
  • CONFIG :包含配置的 JSON 字符串。
  • SECURITY :安全参数的环境变量(例如 API 密钥)。

有关如何加载这些内容的详细信息,请参阅mcp_server/main.py中的if __name__ == "__main__":块。

tests/test_mcp_server.py文件演示了如何以编程方式启动服务器并与之交互以进行测试。

构建和发布

该项目使用 Hatch 进行构建和发布。要构建项目,请执行以下操作:

hatch build

发布项目:

hatch publish

这些命令也可以通过scripts/publish.sh脚本获得。

-
security - not tested
F
license - not found
-
quality - not tested

MCP 服务器支持与开放策略代理 REST API 进行自然语言交互,允许用户通过对话界面管理策略、决策和数据。

  1. 先决条件
    1. 安装
      1. 发展
        1. 代码检查和格式化
        2. 静态分析
        3. 运行测试
        4. 预提交钩子
      2. 运行服务器
        1. 构建和发布

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            An MCP server that connects to Backlog API, providing functionality to search, retrieve, and update issues through natural language commands.
            Last updated -
            53
            1
            JavaScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            A server that integrates the MCP library with OpenAI's API, allowing users to interact with various tools, such as the weather tool, through natural language queries.
            Last updated -
            Python
            MIT License
          • -
            security
            F
            license
            -
            quality
            An MCP server that provides access to Google's API Discovery Service, allowing agents to discover and interact with Google APIs through natural language commands.
            Last updated -
            Python
            • Linux
            • Apple

          View all related MCP servers

          ID: 7bmxgvmg16