kiro-ibmi-mcp-bridge

kiro-ibmi-mcp-bridge

Bridges AI with IBM i systems for source code management, SQL queries, and schema inspection via MCP.

Category
Visit Server

README

<p align="center"> <img src="icon.png" width="120" alt="Kiro IBM i MCP Bridge" /> </p>

Kiro IBM i MCP Bridge

A Kiro (and VS Code) extension that bridges Kiro's AI (via the Model Context Protocol) with IBM i (AS/400) systems, enabling AI-powered development workflows for RPG, COBOL, CL, and other IBM i languages.

Features

  • Read/Write Source Members: AI can read and modify IBM i source code directly
  • Execute SQL: Run queries against DB2 for IBM i
  • Table Schema Inspection: Retrieve column definitions and metadata
  • Intelligent Editing: Partial source edits without full rewrites
  • Standalone MCP Server: A self-contained Node.js MCP server (out/server.js) that connects to IBM i directly over SSH — launched by Kiro (or any MCP client) as a separate process.
  • Editor auto-refresh: The bundled VS Code extension reloads any open source member as soon as the server writes to it.

Prerequisites

  • VS Code 1.85.0 or higher
  • Node.js 18+ (used by Kiro to launch the MCP server)
  • Code for IBM i extension (used to browse/open members and to receive editor auto-refresh)
  • Network/SSH access to your IBM i system

Installation

  1. Install from VS Code Marketplace (search for "IBM i MCP Bridge")
  2. Or download the .vsix file and install manually:
    code --install-extension kiro-ibmi-mcp-bridge-0.3.2.vsix
    

Usage with Kiro

The extension bundles the MCP server and configures Kiro for you — no manual mcp.json editing required.

1. Install prerequisites

  1. Install the Code for IBM i extension in Kiro.
  2. Install this extension (kiro-ibmi-mcp-bridge) from the VSIX (Extensions → ... → Install from VSIX…).

2. Configure your IBM i connection

Open the Command Palette and run IBM i MCP: Configure Connection. Enter host, user, password and SSH port.

The extension then:

  • Saves the credentials locally in its per-user storage (not in mcp.json, not in your repo).
  • Registers the ibmi-bridge MCP server in ~/.kiro/settings/mcp.json, pointing to the server bundled inside the extension.

Reconnect the ibmi-bridge server from the Kiro MCP Servers panel to apply.

The registration only stores a reference to the credentials file (IBMI_CRED_FILE); your password is never written into mcp.json.

Available settings: ibmiMcpBridge.registerScope (global or workspace), ibmiMcpBridge.serverName, ibmiMcpBridge.runtime (kiro or node), ibmiMcpBridge.autoApprove. By default the server runs on Kiro's own bundled Node runtime, so no separate Node.js installation is required. Set ibmiMcpBridge.runtime to node to use a node binary from your PATH instead.

3. Start Using AI with IBM i

Once configured, you can interact with IBM i sources naturally:

You: "Read the source code from MYLIB/QRPGLESRC/MYPGM"
AI: [reads and displays the RPG source]

You: "Add error handling to the SQL statements"
AI: [modifies the source with proper error handling]

You: "Show me the schema for MYLIB/CUSTOMERS"
AI: [displays table columns and types]

Available MCP Tools

Tool Description
get_active_member Read the member currently open in Code for IBM i (automatic context)
read_member_source Read source code from a member
write_member_source Overwrite entire source member
edit_member_source Partial edit using find/replace
run_sql_query Execute SQL (mutations require flag)
get_table_schema Retrieve table column definitions

Automatic context (open member)

You don't have to type library/file/member every time. When you open a source member in Code for IBM i, the extension tracks it (shown in the status bar as IBM i: LIB/FILE(MBR)) and the MCP server uses it automatically. So you can just say:

"Analyze this program"
"Add error handling to the open source"
"Explain what this member does"

The read_member_source, edit_member_source and write_member_source tools fall back to the open member when you omit the coordinates.

Running the server manually

The MCP server communicates via stdio. Kiro normally launches it for you (see config above), but you can also run it directly for testing:

export IBMI_HOST=your-ibm-i-hostname
export IBMI_USER=your-username
export IBMI_PASSWORD=your-password
export IBMI_PORT=22

node out/server.js

Security Notes

  • SQL mutations (INSERT, UPDATE, DELETE) are blocked by default
  • Use allow_mutating: true parameter to enable (use with caution)
  • Credentials are entered via the IBM i MCP: Configure Connection command and stored in the extension's per-user global storage, not in mcp.json and not in your workspace/repo
  • mcp.json only stores a path reference (IBMI_CRED_FILE) to that local credentials file
  • Run IBM i MCP: Clear Saved Credentials to remove the stored credentials

Development

# Clone the repository
git clone https://github.com/dibari62/kiro-ibmi-mcp-bridge
cd kiro-ibmi-mcp-bridge

# Install dependencies
npm install

# Compile TypeScript
npm run compile

# Watch mode for development
npm run watch

# Build standalone server
npm run build

# Package VSIX
npx vsce package

Requirements

  • Node.js 18+
  • TypeScript 5.3+
  • Code for IBM i extension (for VS Code mode)

Known Issues

  • edit_member_source requires exact whitespace matching for fixed-format sources
  • Large source members may take longer to process
  • SQL execution timeout is 30 seconds

Contributing

Contributions welcome! Please open issues or PRs on GitHub.

License

MIT License - see LICENSE file for details

Credits

Built by dibari62 for the IBM i development community.

Powered by:


Enjoy AI-powered IBM i development! 🚀

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured