GraphQL API交互协议

Bloomy MCP是一个通过Model Context Protocol与Bloom Growth的GraphQL API交互的服务器,使AI助手能够对Bloom Growth平台执行操作。

  • by franccesco
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 franccesco/bloomy-mcp

使用说明

Bloomy MCP

用于与Bloom Growth的GraphQL API交互的模型上下文协议(MCP)服务器。

概述

Bloomy MCP是一个连接到Bloom Growth的GraphQL API并通过模型上下文协议公开它的服务器,使人工智能助手能够针对Bloom Groth平台执行操作。

特性

  • 通过MCP查询Bloom Growth GraphQL API
  • 检索查询和突变详细信息
  • 通过MCP工具执行GraphQL查询和突变
  • 获取经过身份验证的用户信息
  • 自动模式自检

安装

先决条件

  • Python 3.12或更高版本
  • 访问Bloom Growth API
  • 紫外线 (推荐)或pip用于包管理

包管理

本项目建议使用 uv,一个快速的Python包安装程序和解析器,可作为pip/pip工具的直接替代品。它比传统的包管理器快得多。

安装uv

curl -sSf https://astral.sh/uv/install.sh | sh

有关其他安装方法,请参阅 紫外线文件.

设置

  1. 克隆此存储库

  2. 设置Python虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 在开发模式下安装软件包:

    使用pip:

    pip install -e .
    

    使用紫外线(推荐):

    uv pip install -e .
    

    对于开发依赖关系:

    uv pip install -e ".[dev]"
    

环境变量

创建一个 .env 包含以下变量的文件:

BLOOM_API_URL=<Your Bloom API URL>
BLOOM_API_TOKEN=<Your Bloom API Token>

用法

光标集成

要将此MCP服务器与Cursor(AI驱动的IDE)一起使用:

  1. 转到光标>光标设置>MCP

  2. 点击“添加新的MCP服务器”

  3. 使用以下详细信息配置服务器:

    • 名称:“Bloom Growth”(或“BG”或您喜欢的任何名称)
    • 类型:命令
    • 命令: uv run --project /path/to/your/repo/ --env-file /path/to/your/repo/.env bloomy-server

    重要:替换 /path/to/your/repo/ 使用到bloomy mcp存储库的实际路径(例如。, /Users/username/workspace/bloomy-mcp/).

运行服务器

启动Bloomy MCP服务器:

bloomy-server

开发模式检查

出于开发和调试目的,您可以使用MCP检查器工具:

npx @modelcontextprotocol/inspector bloomy-server

这允许您在开发过程中检查MCP服务器的行为和响应。

推荐工具

为了优化开发工作流程:

  • 直的:用于管理环境变量,并在进入项目目录时自动加载它们
  • 紫外线:用于快速可靠的包管理

设置direnv:

  1. 安装direnv(例如。, brew install direnv macOS)
  2. 创建一个 .envrc 项目根目录中的文件:
    export BLOOM_API_URL=your_api_url
    export BLOOM_API_TOKEN=your_api_token
    
  3. 跑 direnv allow 授权环境变量

这种工具组合(direnv+uv)为机密管理和包管理提供了一个高效的环境。

可用的MCP工具

以下MCP工具可用于AI助手:

  • get_query_details -获取有关特定GraphQL查询的详细信息
  • get_mutation_details -获取有关特定GraphQL突变的详细信息
  • execute_query -使用变量执行GraphQL查询或变异
  • get_authenticated_user_id -获取当前已验证用户的ID

可用MCP资源

  • bloom://queries -获取所有可用查询的列表
  • bloom://mutations -获取所有可用突变的列表

发展

项目结构

src/
  └── bloomy_mcp/
      ├── __init__.py        # Package initialization
      ├── client.py          # GraphQL client implementation
      ├── formatters.py      # Data formatting utilities
      ├── introspection.py   # GraphQL schema introspection
      ├── operations.py      # GraphQL operation utilities
      └── server.py          # MCP server implementation

依赖项

  • mcp[cli] -模型上下文协议服务器
  • gql -GraphQL客户端库
  • httpx -HTTP客户端
  • pyyaml -YAML处理