Skip to main content
Glama
Bloomy MCP

Bloomy MCP

by franccesco

Bloomy MCP

A Model Context Protocol (MCP) server for interacting with Bloom Growth's GraphQL API.

Overview

Bloomy MCP is a server that connects to Bloom Growth's GraphQL API and exposes it through the Model Context Protocol, enabling AI assistants to perform operations against the Bloom Growth platform.

Related MCP server: Flow MCP Server

Features

  • Query Bloom Growth GraphQL API through MCP

  • Retrieve query and mutation details

  • Execute GraphQL queries and mutations via MCP tools

  • Get authenticated user information

  • Automatic schema introspection

Installation

Prerequisites

  • Python 3.12 or higher

  • Access to Bloom Growth API

  • uv (recommended) or pip for package management

Package Management

This project recommends using uv, a fast Python package installer and resolver that serves as a drop-in replacement for pip/pip-tools. It's significantly faster than traditional package managers.

Installing uv

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

For other installation methods, see the uv documentation.

Setup

  1. Clone this repository

  2. Set up a Python virtual environment:

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install the package in development mode:

    Using pip:

    pip install -e .

    Using uv (recommended):

    uv pip install -e .

    For development dependencies:

    uv pip install -e ".[dev]"

Environment Variables

Create a .env file with the following variables:

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

Usage

Cursor Integration

To use this MCP server with Cursor (AI-powered IDE):

  1. Go to Cursor > Cursor Settings > MCP

  2. Click on "Add new MCP server"

  3. Configure the server with the following details:

    • Name: "Bloom Growth" (or "BG" or any name you prefer)

    • Type: Command

    • Command: uv run --project /path/to/your/repo/ --env-file /path/to/your/repo/.env bloomy-server

    Important: Replace /path/to/your/repo/ with the actual path to your bloomy-mcp repository (e.g., /Users/username/workspace/bloomy-mcp/).

Running the Server

Start the Bloomy MCP server:

bloomy-server

Development Mode Inspection

For development and debugging purposes, you can use the MCP inspector tool:

npx @modelcontextprotocol/inspector bloomy-server

This allows you to inspect the MCP server's behavior and responses during development.

For optimal development workflow:

  • direnv: Use for managing environment variables and automatically loading them when entering the project directory

  • uv: Use for fast and reliable package management

Setting up direnv:

  1. Install direnv (e.g., brew install direnv on macOS)

  2. Create a .envrc file in your project root:

    export BLOOM_API_URL=your_api_url
    export BLOOM_API_TOKEN=your_api_token
  3. Run direnv allow to authorize the environment variables

This combination of tools (direnv + uv) provides an efficient environment for both secrets management and package management.

Available MCP Tools

The following MCP tools are available for AI assistants:

  • get_query_details - Get detailed information about specific GraphQL queries

  • get_mutation_details - Get detailed information about specific GraphQL mutations

  • execute_query - Execute a GraphQL query or mutation with variables

  • get_authenticated_user_id - Get the ID of the currently authenticated user

Available MCP Resources

  • bloom://queries - Get a list of all available queries

  • bloom://mutations - Get a list of all available mutations

Development

Project Structure

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

Dependencies

  • mcp[cli] - Model Context Protocol server

  • gql - GraphQL client library

  • httpx - HTTP client

  • pyyaml - YAML processing

Available Tools

4 tools
execute_queryA

Execute a GraphQL query or mutation with variables.

Parses and executes the provided GraphQL operation string with optional variables.

Args:
    query: Raw GraphQL query or mutation string
    variables: Optional dictionary of variables to use in the operation

Returns:
    Dictionary containing the operation results or an error message string

Raises:
    Exception: Handled internally, returns error message as string

Inputs: query (required), variables.

get_authenticated_user_idA

Get the ID of the currently authenticated user.

Uses a special mutation to retrieve the ID of the user associated with
the current API token.

Returns:
    User ID string if successful, None if user not found, or error message string

Raises:
    Exception: Handled internally, returns error message as string

Inputs: no named parameters.

get_mutation_detailsA

Get detailed information about specific GraphQL mutations.

Retrieves argument requirements, return type information, descriptions, and
example usage for the specified mutations.

Args:
    mutation_names: Comma-separated list of mutation names to get details for

Returns:
    A YAML-formatted string containing detailed information about the requested mutations

Inputs: mutation_names (required).

get_query_detailsA

Get detailed information about specific GraphQL queries.

Retrieves argument requirements, return type information, descriptions, and
example usage for the specified queries.

Args:
    query_names: Comma-separated list of query names to get details for

Returns:
    A YAML-formatted string containing detailed information about the requested queries

Inputs: query_names (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: execute_query performs operations, get_authenticated_user_id handles authentication, and get_mutation_details/get_query_details provide metadata. The two detail tools are differentiated by query vs mutation focus, preventing confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern with snake_case: execute_query, get_authenticated_user_id, get_mutation_details, get_query_details. The pattern is predictable and readable throughout the set.

    Tool Count5/5

    Four tools is well-scoped for a GraphQL-focused server: one for execution, one for authentication, and two for schema introspection. Each tool earns its place without bloat or thin coverage for the domain.

    Completeness4/5

    The surface covers core GraphQL workflows well: execution, authentication, and schema details for both queries and mutations. A minor gap is the lack of a tool for subscription details or general schema exploration beyond specific queries/mutations, but agents can work around this.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.
      936 npm
      3
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.
      1
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.
      2
      -