OCI资源管理工具集

提供多工具控制协议(MCP)服务器,用于管理Oracle云基础设施(OCI)资源,如自治数据库(ADB)、计算、身份和网络服务,支持通过自然语言与OCI租户交互。

  • by shjanjua
  • Python
  • 混合部署
  • 2 星标
  • 更新于
在 GitHub 查看 shjanjua/OCI-MCP-Servers

使用说明

OCI MCP服务器

此存储库提供了一组用于管理Oracle云基础架构(OCI)资源的多工具控制协议(MCP)服务器。每台服务器都为特定的OCI服务提供一组工具,如自治数据库(ADB)、计算、身份和网络。

这些服务器旨在集成到开发环境中,如 光标 允许与OCI租户进行基于自然语言的交互。

先决条件

在开始之前,请确保您拥有以下内容:

  • Python 3.9或更高版本。
  • Oracle云基础架构帐户。
  • 已配置的OCI CLI配置文件。脚本默认使用 [DEFAULT] 配置文件位于 ~/.oci/config.

安装

  1. 克隆存储库:

    git clone https://github.com/shjanjua/OCI-MCP-Servers
    cd ocimcp
    
  2. 创建并激活虚拟环境(推荐):

    python -m venv .venv
    source .venv/bin/activate
    # On Windows, use: .venv\Scripts\activate
    
  3. 安装所需的依赖项: 每个服务都有自己的 requirements.txt,但它们都是一样的。

    pip install -r compute/requirements.txt
    

游标中的用法

您可以将这些工具直接集成到Cursor IDE中,允许AI使用它们在OCI租约中执行操作。有两种方法: stdio 和 streamable-http.

方法1:标准I/O(stdio)

此方法最简单,Cursor管理服务器进程的生命周期。您可以将Cursor配置为运行 server_stdio.py 每个服务的脚本。

游标JSON配置(~/.cursor/mcp.json):

要配置服务器,请将以下内容添加到您的 mcpServers 光标设置中的对象。

{
  "mcpServers": {
    "adb-stdio": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-u", "/path/to/your/ocimcp/adb/server_stdio.py"]
    },
    "compute-stdio": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-u", "/path/to/your/ocimcp/compute/server_stdio.py"]
    },
    "identity-stdio": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-u", "/path/to/your/ocimcp/identity/server_stdio.py"]
    },
    "network-stdio": {
      "command": "/path/to/your/.venv/bin/python",
      "args": ["-u", "/path/to/your/ocimcp/network/server_stdio.py"]
    }
  }
}

注: 替换 /path/to/your/ 带有项目目录和虚拟环境的绝对路径。


方法2:流式HTTP

此方法将每个服务作为单独的持久web服务器运行。这允许多个客户端同时连接。

1.运行服务器:

您必须在每个服务器的终端窗口中手动启动它。它们被配置为在不同的端口上运行,以避免冲突。

  • 1号航站楼(ADB):
    python adb/server.py
    
  • 终端2(计算):
    python compute/server.py
    
  • 3号航站楼(身份):
    python identity/server.py
    
    4号航站楼(网络):
    python network/server.py
    

2.游标JSON配置(~/.cursor/mcp.json):

将以下配置添加到您的 mcpServers 对象。此命令会告诉Cursor在哪里可以找到正在运行的MCP服务器。

{
  "mcpServers": {
    "adb": {
      "url": "http://0.0.0.0:8000/mcp"
    },
    "compute": {
      "url": "http://0.0.0.0:8001/mcp"
    },
    "identity": {
      "url": "http://0.0.0.0:8002/mcp"
    },
    "network": {
      "url": "http://0.0.0.0:8003/mcp"
    }
  }
}