ibm-openpages-local
An experimental local Model Context Protocol (MCP) server that enables AI agents to securely interact with IBM OpenPages GRC platform through a standardized interface.
claude mcp add --transport stdio ibm-ibm-openpages-local-mcp-server python start_mcp.py \ --env HOST="server host (default 0.0.0.0)" \ --env PORT="server port (default 8000)" \ --env DEBUG="True or False" \ --env LOG_LEVEL="INFO, DEBUG, WARNING, or ERROR" \ --env SSL_VERIFY="True or False" \ --env OPENPAGES_APIKEY="API key for bearer authentication" \ --env OPENPAGES_BASE_URL="URL to your OpenPages instance (e.g., https://openpages.example.com)" \ --env OPENPAGES_PASSWORD="password for basic authentication" \ --env OPENPAGES_USERNAME="username for basic authentication" \ --env OPENPAGES_AUTHENTICATION_URL="token URL for bearer authentication" \ --env OPENPAGES_AUTHENTICATION_TYPE="basic or bearer"
How to use
This MCP server implements the Model Context Protocol to interact with an IBM OpenPages GRC instance via STDIO using JSON-RPC. It dynamically exposes CRUD-style tools for OpenPages object types (such as Issues, Controls, Risks) based on a JSON configuration. Agents can discover available tools, inspect their parameters, and issue create, read, update, or delete operations through standardized JSON-RPC requests. The server handles authentication to OpenPages and provides a consistent interface so agents like watsonx assistant, Claude Desktop, or other MCP-enabled clients can securely operate on OpenPages data from a local environment.
How to install
Prerequisites:
- Python 3.11+ installed on your machine
- Git to clone the repository
- Access to an IBM OpenPages instance (or test instance) for authentication
Install steps:
- Clone the repository and change into the project directory:
git clone https://github.com/IBM/ibm-openpages-local-mcp-server
cd ibm-openpages-local-mcp-server
- Create and activate a Python virtual environment: On macOS/Linux:
python3 -m venv venv
source venv/bin/activate
On Windows:
python -m venv venv
venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Copy and configure environment variables:
cp .env.example .env
Edit the resulting .env file with your OpenPages connection details (or populate the environment variables as described in the mcp_config).
- Start the MCP server:
python start_mcp.py
Optional for debugging:
python start_mcp.py --debug
Additional notes
Tips and common considerations:
- Ensure OPENPAGES_BASE_URL points to a reachable OpenPages instance and that authentication credentials are correct.
- Set SSL_VERIFY to False only in development or trusted environments; enable SSL verification for production deployments.
- The server is designed to be extended via object_types.json; to add support for a new OpenPages object type, update the configuration and restart the server.
- If you encounter connection or authentication errors, check the environment variables in the running process and review LOG_LEVEL for detailed logs.
- The MCP server communicates with AI agents via STDIO and JSON-RPC; use tools/list to discover available operations before performing CRUD actions.
Related MCP Servers
mcp-vegalite
MCP server from isaacwasserman/mcp-vegalite-server
github-chat
A Model Context Protocol (MCP) for analyzing and querying GitHub repositories using the GitHub Chat API.
nautex
MCP server for guiding Coding Agents via end-to-end requirements to implementation plan pipeline
pagerduty
PagerDuty's official local MCP (Model Context Protocol) server which provides tools to interact with your PagerDuty account directly from your MCP-enabled client.
futu-stock
mcp server for futuniuniu stock
mcp -boilerplate
Boilerplate using one of the 'better' ways to build MCP Servers. Written using FastMCP