Skip to main content
Glama
IBM

IBM i MCP Server

Official
by IBM
overview.mdx8.47 kB
--- title: "Agent Development Overview" description: "Build specialized AI agents for IBM i systems using the MCP server and custom toolsets." --- AI agents provide intelligent automation and assistance for IBM i system administration through natural language interfaces. The IBM i MCP server enables you to build **specialized agents** that focus on specific domains (performance monitoring, system discovery, security auditing) rather than monolithic agents attempting all tasks. --- ## Architecture Overview The IBM i MCP server provides the foundation for building specialized agents. Agents connect to the MCP server, which exposes IBM i capabilities through SQL-based tools organized into **toolsets**. This architecture enables you to build focused agents that only see the tools they need. ```mermaid graph TB subgraph agents["AI Agent Layer"] direction TB agent["🤖 AI Agent<br/><small>Agno/LangChain/LangGraph</small>"] nl["💬 Natural language interface"] memory["🧠 Persistent memory & context"] end subgraph filtering["FilteredMCPTools Layer"] direction TB filter["🔍 FilteredMCPTools"] annotations["📝 Annotation-based filtering"] toolsets["📦 Toolset selection<br/><small>performance, discovery, browse, search</small>"] end subgraph mcp["IBM i MCP Server"] direction TB register["📋 Register SQL tools from YAML"] validate["✓ Validate parameters & security"] format["📊 Format responses for AI"] end subgraph ibmi["IBM i System"] direction TB db2["✓ Db2 for i"] qsys2["✓ QSYS2 Services"] security["✓ Security Model"] sprocs["✓ Stored Procedures"] end agents -->|Uses| filtering filtering -->|HTTP/MCP Protocol| mcp mcp -->|SQL Queries| ibmi style agents fill:#e3f2fd,stroke:#1976d2,stroke-width:3px,color:#000 style filtering fill:#fff3e0,stroke:#f57c00,stroke-width:3px,color:#000 style mcp fill:#f3e5f5,stroke:#7b1fa2,stroke-width:3px,color:#000 style ibmi fill:#e8f5e9,stroke:#388e3c,stroke-width:3px,color:#000 style agent fill:#bbdefb,stroke:#1976d2,stroke-width:2px,color:#000 style nl fill:#bbdefb,stroke:#1976d2,stroke-width:2px,color:#000 style memory fill:#bbdefb,stroke:#1976d2,stroke-width:2px,color:#000 style filter fill:#ffe0b2,stroke:#f57c00,stroke-width:2px,color:#000 style annotations fill:#ffe0b2,stroke:#f57c00,stroke-width:2px,color:#000 style toolsets fill:#ffe0b2,stroke:#f57c00,stroke-width:2px,color:#000 style register fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#000 style validate fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#000 style format fill:#e1bee7,stroke:#7b1fa2,stroke-width:2px,color:#000 style db2 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000 style qsys2 fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000 style security fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000 style sprocs fill:#c8e6c9,stroke:#388e3c,stroke-width:2px,color:#000 ``` ### Three-Layer Design <CardGroup cols={3}> <Card title="AI Agent Layer" icon="robot"> **Your specialized agent** with natural language understanding, persistent memory, and domain-specific knowledge </Card> <Card title="Toolset Filtering" icon="filter"> **FilteredMCPTools** provides selective tool access based on annotations (toolsets, read-only, etc.) </Card> <Card title="IBM i MCP Server" icon="server"> **SQL tools as MCP tools** registered from YAML, validated, and formatted for AI consumption </Card> </CardGroup> --- ## Building Specialized Agents with Toolsets **Toolsets** are collections of related SQL tools that enable focused agent capabilities. Instead of giving an agent access to all 50+ tools, you configure it to use only the toolset(s) it needs. ### Example Toolsets | Toolset | Purpose | When to Use | |---------|---------|-------------| | **performance** | System performance monitoring | Agents that track CPU, memory, active jobs, and resource utilization | | **sysadmin_discovery** | High-level service discovery | Agents that explore available QSYS2 services and capabilities | | **sysadmin_browse** | Detailed service exploration | Agents that dive deep into specific schemas and service categories | | **sysadmin_search** | Targeted service search | Agents that find specific services by name or keyword | <Info> **Why Toolsets?** Specialized agents are more reliable, performant, and secure than monolithic agents. A performance monitoring agent doesn't need access to security audit tools. A discovery agent doesn't need write operations. Toolsets enforce this separation. </Info> ### Creating Custom Toolsets You define toolsets in your YAML tool configuration: ```yaml # tools/custom-tools.yaml toolsets: security_audit: tools: - get_failed_logins - list_object_authorities - check_password_expiry database_health: tools: - table_sizes - index_status - query_performance ``` Your agent framework can then filter to these custom toolsets when connecting to the MCP server. <Card title="Build Custom Toolsets →" icon="tools" href="/sql-tools/toolsets"> Learn how to define toolsets in YAML and use them with agents </Card> --- ## Agent Development Approach Building an agent for IBM i follows this high-level process: <Steps> <Step title="Define Agent Purpose"> What specific IBM i domain will this agent handle? Performance? Security? Discovery? </Step> <Step title="Select or Create Toolsets"> Use existing toolsets or define custom ones in YAML based on your agent's needs </Step> <Step title="Configure Tool Filtering"> Connect your agent framework to the MCP server with toolset filters </Step> <Step title="Write Agent Instructions"> Guide the agent on how to interpret user questions and use tools effectively </Step> <Step title="Test and Deploy"> Verify the agent's reliability and deploy as a standalone service </Step> </Steps> <Tip> **Multi-Agent Architecture**: IBM i's traditional separation of concerns translates well to specialized agents. Rather than one agent for "IBM i administration," build separate agents for performance monitoring, security auditing, database management, etc. Each agent becomes an expert in its domain. </Tip> --- ## Framework Options Pre-built integrations are available for popular agent frameworks: <CardGroup cols={3}> <Card title="Agno Framework" icon="https://agno-public.s3.us-east-1.amazonaws.com/assets/logo-light.svg" href="https://github.com/IBM/ibmi-mcp-server/tree/main/agents/frameworks/agno"> Python agents with AgentOS, persistent memory, and evaluation tools </Card> <Card title="Google ADK" icon="google" href="https://github.com/IBM/ibmi-mcp-server/tree/main/agents/frameworks/google_adk"> Google Agent Development Kit with Google AI and Vertex AI support </Card> <Card title="LangChain" icon="link" href="https://github.com/IBM/ibmi-mcp-server/tree/main/agents/frameworks/langchain"> LangGraph-based agents with state management and workflows </Card> </CardGroup> Each integration includes example specialized agents demonstrating toolset filtering and domain-focused architectures. --- ## Next Steps <CardGroup cols={2}> <Card title="SQL Tools Building" icon="database" href="/sql-tools/building-tools"> Understand how to create SQL tools and organize them into toolsets </Card> <Card title="Toolsets Guide" icon="layer-group" href="/sql-tools/toolsets"> Learn how to define and use toolsets for specialized agents </Card> <Card title="Agno Framework Guide" icon="rocket" href="https://github.com/IBM/ibmi-mcp-server/tree/main/agents/frameworks/agno"> Start building agents with the recommended Agno framework </Card> <Card title="Example Agents" icon="code" href="https://github.com/IBM/ibmi-mcp-server/tree/main/agents"> Explore pre-built specialized agents for performance, discovery, and more </Card> </CardGroup> <Note> **Architecture Philosophy**: The IBM i MCP server encourages **specialized agents** that handle specific domains rather than monolithic agents attempting all tasks. This separation of concerns aligns with IBM i's traditional design philosophy and provides better performance, security, and maintainability. </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