Skip to main content
Glama
IBM

IBM i MCP Server

Official
by IBM
bob.mdx8.42 kB
--- title: "IBM Bob" description: "Configure IBM i MCP Server with IBM Bob, IBM's AI-powered development assistant" --- # IBM Bob Integration IBM Bob is IBM's AI-powered development assistant and IDE designed for enterprise software development. <Note> **Platform Support**: Windows, macOS, Linux **Transport Modes**: Stdio (local) and HTTP (remote) **MCP Client**: Built-in MCP client for connecting to MCP servers </Note> ## Prerequisites Ensure you have IBM Bob installed and configured: ```bash # Verify Bob installation bob --version ``` <Info> **Getting Bob**: IBM Bob is available to IBM employees and authorized partners. Visit the [IBM Bob product page](https://www.ibm.com/products/bob) for access information. </Info> ## Configuration File Location Bob stores its MCP server configuration in: <Tabs> <Tab title="User Configuration"> **Location**: `~/.bob/mcp.json` or `%USERPROFILE%\.bob\mcp.json` (Windows) **Benefits**: - Available across all projects - Personal configuration - Not shared via version control </Tab> <Tab title="Workspace Configuration"> **Location**: `.bob/mcp.json` in your project root **Benefits**: - Shared with team via version control - Project-specific MCP servers - Consistent across team members </Tab> </Tabs> ## Local (Stdio) Setup Configure a local server that Bob will spawn and manage: ### Using Configuration File Create or edit your MCP configuration file: ```json { "mcpServers": { "ibmi-mcp": { "command": "npx", "args": ["-y", "@ibm/ibmi-mcp-server@latest", "--tools", "/absolute/path/to/tools"], "env": { "DB2i_HOST": "your-ibmi-host.com", "DB2i_USER": "your-username", "DB2i_PASS": "your-password", "DB2i_PORT": "8076", "MCP_TRANSPORT_TYPE": "stdio", "NODE_OPTIONS": "--no-deprecation" } } } } ``` <Warning> **Important**: - The `--tools` path must be an **absolute path** - Replace credentials with your actual IBM i system details - Ensure the user profile has appropriate database authorities </Warning> ## Remote (HTTP) Setup Connect to a remote IBM i MCP Server: ### Step 1: Start Remote Server On your server machine, configure and start the MCP server with authentication: ```bash # Configure .env file MCP_TRANSPORT_TYPE=http MCP_AUTH_MODE=ibmi IBMI_HTTP_AUTH_ENABLED=true # Start server npm run start:http ``` ### Step 2: Obtain Access Token ```bash # Generate access token node get-access-token.js --verbose # Copy the token from output ``` ### Step 3: Configure Bob Edit your MCP configuration file: ```json { "mcpServers": { "ibmi-mcp": { "url": "http://localhost:3010/mcp", "transport": "http", "headers": { "Authorization": "Bearer YOUR_ACCESS_TOKEN_HERE" } } } } ``` <Tip> **Production**: Replace `http://localhost:3010` with your production server URL and ensure HTTPS is enabled for secure communication. </Tip> ## Environment Variable Expansion Bob supports environment variable expansion for secure credential management: ```json { "mcpServers": { "ibmi-mcp": { "command": "npx", "args": ["-y", "@ibm/ibmi-mcp-server@latest", "--tools", "${IBMI_TOOLS_PATH}"], "env": { "DB2i_HOST": "${DB2i_HOST}", "DB2i_USER": "${DB2i_USER}", "DB2i_PASS": "${DB2i_PASS}", "DB2i_PORT": "${DB2i_PORT:-8076}", "MCP_TRANSPORT_TYPE": "stdio" } } } } ``` **Supported syntax:** - `${VAR}` - Expands to the value of environment variable `VAR` - `${VAR:-default}` - Expands to `VAR` if set, otherwise uses `default` ## Testing the Connection After configuration, restart Bob and verify the MCP server connection: 1. **Restart Bob**: Close and reopen the Bob IDE 2. **Check MCP status**: Look for MCP indicators in the Bob interface 3. **List available tools**: Ask Bob "What MCP tools are available?" 4. **Test a tool**: Try "Show me the IBM i system status using MCP" ## Troubleshooting <AccordionGroup> <Accordion title="Server Not Appearing"> **Symptoms**: MCP server doesn't show up in Bob **Solutions**: - Verify JSON syntax in your MCP configuration file - Check that `npx -y @ibm/ibmi-mcp-server@latest` works from terminal - Ensure absolute paths are used for `--tools` - Restart Bob completely - Check Bob logs for MCP-related errors </Accordion> <Accordion title="Authentication Failed (Remote)"> **Symptoms**: Connection refused or 401 Unauthorized for remote connections **Solutions**: - Verify server is running: `curl http://localhost:3010/mcp` - Check token is valid: verify token hasn't expired (default: 1 hour) - Ensure `MCP_AUTH_MODE=ibmi` and `IBMI_HTTP_AUTH_ENABLED=true` on server - Get a fresh token: `node get-access-token.js --verbose` - Confirm Authorization header format: `Bearer TOKEN` </Accordion> <Accordion title="Tools Not Loading"> **Symptoms**: Server connects but no tools available **Solutions**: - Verify tools path exists and is absolute - Check YAML files are valid in tools directory - Ensure IBM i credentials are correct - Verify Mapepire is running on IBM i (port 8076) - Test tools: `npx -y @ibm/ibmi-mcp-server@latest --list-toolsets --tools /path` </Accordion> <Accordion title="Connection to IBM i Failed"> **Symptoms**: Server starts but can't connect to IBM i **Solutions**: - Test IBM i connectivity: `ping your-ibmi-host` - Verify Mapepire is running: `netstat -an | grep 8076` - Check firewall allows port 8076 - Ensure DB2i credentials have appropriate authorities - Verify hostname resolution </Accordion> </AccordionGroup> ## Advanced Configuration ### Multiple IBM i Systems Configure multiple server instances for different IBM i systems: ```json { "mcpServers": { "ibmi-dev": { "command": "npx", "args": ["-y", "@ibm/ibmi-mcp-server@latest", "--tools", "/path/to/dev-tools"], "env": { "DB2i_HOST": "dev-ibmi.company.com", "DB2i_USER": "DEVUSER", "DB2i_PASS": "${DEV_PASSWORD}", "MCP_TRANSPORT_TYPE": "stdio" } }, "ibmi-prod": { "url": "https://prod-mcp.company.com/mcp", "transport": "http", "headers": { "Authorization": "Bearer ${PROD_MCP_TOKEN}" } } } } ``` ### Custom Toolsets Load specific toolsets for different workflows: ```json { "mcpServers": { "ibmi-performance": { "command": "npx", "args": [ "-y", "@ibm/ibmi-mcp-server@latest", "--tools", "/path/to/tools", "--toolsets", "performance,monitoring" ], "env": { "DB2i_HOST": "your-ibmi-host.com", "DB2i_USER": "${DB2i_USER}", "DB2i_PASS": "${DB2i_PASS}", "MCP_TRANSPORT_TYPE": "stdio" } }, "ibmi-security": { "command": "npx", "args": [ "-y", "@ibm/ibmi-mcp-server@latest", "--tools", "/path/to/tools", "--toolsets", "security,audit" ], "env": { "DB2i_HOST": "your-ibmi-host.com", "DB2i_USER": "${DB2i_USER}", "DB2i_PASS": "${DB2i_PASS}", "MCP_TRANSPORT_TYPE": "stdio" } } } } ``` ## Next Steps <CardGroup cols={2}> <Card title="SQL Tools" icon="database" href="/sql-tools/overview"> Create custom SQL tools for your IBM i workflows </Card> <Card title="Configuration" icon="gear" href="/configuration"> Explore all IBM i MCP Server configuration options </Card> <Card title="Authentication" icon="lock" href="/server-config/ibmi-auth"> Set up secure IBM i HTTP authentication </Card> <Card title="Other Clients" icon="grid" href="/clients/overview"> Explore other MCP-compatible clients </Card> </CardGroup> ## Additional Resources - [IBM Bob Product Page](https://www.ibm.com/products/bob) - [IBM Bob Documentation](https://pages.github.ibm.com/code-assistant/bob-docs/) (IBM Internal) - [IBM i MCP Server on IT Jungle](https://www.itjungle.com/2025/10/27/beta-of-mcp-server-opens-up-ibm-i-for-agentic-ai/) - [IBM i MCP Quick Start](/quickstart) <Note> **Internal Documentation**: For IBM employees, detailed Bob MCP configuration is available at [Bob MCP Documentation](https://pages.github.ibm.com/code-assistant/bob-docs/features/mcp/using-mcp-in-bob/). </Note>

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IBM/ibmi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server