Skip to main content

Sitemule Blueprint MCP Server - Access IBM i program analysis via MCP

Project description

Sitemule Blueprint MCP Server

A Model Context Protocol (MCP) server for IBM i program analysis, built with FastMCP.

⚠️ Prerequisite: This MCP server requires a licensed copy of Sitemule Blueprint running on an IBM i server. Without it, there is no backend to connect to. Contact Sitemule for licensing information.

Features

  • STDIO and Streamable HTTP transports
  • IBM i program call-chain analysis (top-down & bottom-up)
  • Source code retrieval and regex search
  • Configurable API endpoint and API key (key is never exposed to the LLM)
  • Packaged for PyPI via uv
  • Self-contained executables for Windows, macOS, and Linux

Tools

The MCP server exposes 6 tools for IBM i program analysis. Configuration management (getConfig, setConfig) and graph rebuilds (loadGraph) are handled by the companion VS Code extension — see VS Code Extension below.

Read-only

Tool Description
get_graph_top_down Forward call/dependency chain: all programs and data-entities this node interacts with
get_graph_bottom_up Reverse call chain / impact analysis: all programs and data-entities that interact with this node
get_program_info Metadata and description for a program or table (no source code)
get_program_source Source code and source-file location for a program or table
search_source_code_with_regex Search program source and table definitions for text matching a regular expression
get_domains List all defined domains, including a 'No domain' entry for unassigned nodes

Installation

From PyPI

# Install with uv
uv pip install blueprint-mcp

# Or with pip
pip install blueprint-mcp

From source

git clone https://sitemule.dev/sitemule/blueprint-mcp.git
cd blueprint-mcp
uv sync

VS Code Extension

The companion Sitemule Blueprint extension (in src/vscode/blueprint-mcp-settings/) provides a Settings UI and manages server communication directly:

Command Description
Blueprint: Refresh Settings from Server Fetch current config via getConfig and populate VS Code settings
Blueprint: Save Settings to Server Push VS Code settings to the backend via setConfig
Blueprint: Rebuild Dependency Graph Trigger loadGraph to re-scan the IBM i
Blueprint: Save Settings & Rebuild Graph Save config then rebuild in one step
Blueprint: Generate mcp.json Write .vscode/mcp.json to register the MCP server

Workflow:

  1. Set blueprint.apiUrl (and optionally blueprint.apiKey) in VS Code settings
  2. The extension fetches the current config from the backend on activation
  3. Edit any setting — changes are automatically pushed to the backend
  4. Use the command palette to rebuild the graph when ready

The extension also generates .vscode/mcp.json automatically so VS Code can launch the MCP server with the correct API credentials.

Configuration

All configuration is via environment variables:

Variable Required Default Description
BLUEPRINT_API_URL Yes http://MY_IBM_I:7111/services/api Base URL for the Blueprint API
BLUEPRINT_API_KEY No (none) API key sent as Authorization: Bearer <key> header. Never exposed to the LLM.
BLUEPRINT_HOST No 0.0.0.0 Host for HTTP transport
BLUEPRINT_PORT No 8000 Port for HTTP transport

Usage

STDIO (default — for IDE integrations like VS Code, Cursor, etc.)

BLUEPRINT_API_URL=http://ibm-i.host.or.ip:7111/services/api blueprint-mcp

Streamable HTTP

BLUEPRINT_API_URL=http://ibm-i.host.or.ip:7111/services/api blueprint-mcp --transport streamable-http

With API key

BLUEPRINT_API_URL=http://ibm-i.host.or.ip:7111/services/api \
BLUEPRINT_API_KEY=my-secret-key \
blueprint-mcp --transport streamable-http --port 9000

MCP client configuration (e.g. Claude Desktop, VS Code)

{
  "mcpServers": {
    "blueprint": {
      "command": "blueprint-mcp",
      "env": {
        "BLUEPRINT_API_URL": "http://ibm-i.host.or.ip:7111/services/api",
        "BLUEPRINT_API_KEY": "my-secret-key"
      }
    }
  }
}

VS Code — one-click install from MCP Registry

  1. Open the command palette (Ctrl+Shift+P / Cmd+Shift+P)
  2. Run MCP: Add Server… → search for Sitemule Blueprint
  3. VS Code will prompt you for the API URL and (optionally) the API key
  4. Settings are stored securely — the API key is never exposed to the LLM

Or add a .vscode/mcp.json file to your workspace manually:

{
  "inputs": [
    {
      "id": "blueprint-api-url",
      "type": "promptString",
      "description": "Blueprint API URL (e.g., http://ibm-i.host.or.ip:7111/services/api)",
      "default": "http://ibm-i.host.or.ip:7111/services/api"
    },
    {
      "id": "blueprint-api-key",
      "type": "promptString",
      "description": "Blueprint API Key (leave empty if not required)",
      "default": "",
      "password": true
    }
  ],
  "servers": {
    "blueprint": {
      "type": "stdio",
      "command": "blueprint-mcp",
      "args": ["--transport", "stdio"],
      "env": {
        "BLUEPRINT_API_URL": "${input:blueprint-api-url}",
        "BLUEPRINT_API_KEY": "${input:blueprint-api-key}"
      }
    }
  }
}

Self-contained executable

Download the pre-built executable for your platform from Releases and run it directly — no Python installation required:

# Linux / macOS
chmod +x blueprint-mcp-linux
BLUEPRINT_API_URL=http://ibm-i.host.or.ip:7111/services/api ./blueprint-mcp-linux

# Windows
set BLUEPRINT_API_URL=http://ibm-i.host.or.ip:7111/services/api
blueprint-mcp-windows.exe

Building

Package (for PyPI)

bash scripts/build-package.sh
# Output: dist/blueprint_mcp-<version>.tar.gz + .whl

Self-contained executable (current platform)

uv sync --dev
uv run python build_executables.py
# Output: dist/blueprint-mcp-{linux|macos|windows}

All platforms via CI

Push a tag v* to trigger the GitLab CI pipeline, which builds executables for all 3 platforms and publishes to PyPI.

Development

See CONTRIBUTING.md for full developer setup, VS Code integration, and the release workflow.

uv sync --dev
uv run pytest

License

This software is proprietary and confidential. Copyright (c) 2025 Sitemule. All rights reserved.

A valid commercial license from Sitemule is required for any use. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blueprint_mcp-1.0.21b1.tar.gz (21.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blueprint_mcp-1.0.21b1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file blueprint_mcp-1.0.21b1.tar.gz.

File metadata

  • Download URL: blueprint_mcp-1.0.21b1.tar.gz
  • Upload date:
  • Size: 21.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blueprint_mcp-1.0.21b1.tar.gz
Algorithm Hash digest
SHA256 6a7b01b800743b0cad6689d8153fad90aa7d912d4f5f7457834d3c9d622338e2
MD5 36c0eb70d53d1d9363715368ebcb2043
BLAKE2b-256 9bd028bdb8e333aa7d1aa8e0ab6e024c69a4c9d8e028160d8ffcd8b0253a3e8b

See more details on using hashes here.

File details

Details for the file blueprint_mcp-1.0.21b1-py3-none-any.whl.

File metadata

  • Download URL: blueprint_mcp-1.0.21b1-py3-none-any.whl
  • Upload date:
  • Size: 21.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for blueprint_mcp-1.0.21b1-py3-none-any.whl
Algorithm Hash digest
SHA256 e861a076919a04df84e32a2587cce25727a7c7384a82863270dae03b3bf0a644
MD5 b8e6ed16dab0347686aee28e4f87bb73
BLAKE2b-256 4e2a2d2281e6e3288c7ad92accfd002d39c873b60ec6acaaef7d2af68e52ecf8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page