Skip to content

docs: add MCP server examples guide#777

Closed
arc-claw-bot wants to merge 1 commit intonearai:stagingfrom
arc-claw-bot:docs/mcp-server-examples
Closed

docs: add MCP server examples guide#777
arc-claw-bot wants to merge 1 commit intonearai:stagingfrom
arc-claw-bot:docs/mcp-server-examples

Conversation

@arc-claw-bot
Copy link

Summary

Adds docs/MCP_SERVERS.md — a practical guide for configuring MCP servers with IronClaw.

What's included

  • Quick start commands for ironclaw mcp add/test/list
  • Transport overview — HTTP, stdio, and Unix socket options
  • Example servers with copy-paste setup commands:
    • Fulcra Context — personal health data (biometrics, sleep, activity, calendar, location) via consent-scoped API
    • Filesystem (reference server)
    • PostgreSQL (reference server)
  • Configuration file format reference (mcp-servers.json)
  • Links to the existing MCP vs WASM decision guide and community server directories

Motivation

IronClaw's MCP support is well-implemented but there's no user-facing guide showing how to actually configure servers. This fills that gap with practical examples that users can adapt.

Checklist

  • Reviewed FEATURE_PARITY.md — no changes needed (MCP support already tracked as ✅)
  • Documentation only, no code changes

Add docs/MCP_SERVERS.md with:
- Quick start commands for adding MCP servers
- Transport type overview (HTTP, stdio, Unix)
- Example configurations for popular servers (Fulcra Context,
  Filesystem, PostgreSQL)
- Configuration file format reference
- Links to MCP vs WASM decision guide and server directories
@github-actions github-actions bot added the scope: docs Documentation label Mar 9, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces comprehensive documentation to guide users on configuring and utilizing Model Context Protocol (MCP) servers within the IronClaw ecosystem. It addresses a critical gap by providing practical examples and setup instructions, enabling users to effectively extend their agents with third-party tools. The new guide covers various transport types, offers concrete server examples, and clarifies configuration details, significantly enhancing the user experience for MCP integration.

Highlights

  • New Documentation Guide: A new guide, docs/MCP_SERVERS.md, has been added to provide practical instructions for configuring Model Context Protocol (MCP) servers with IronClaw.
  • Quick Start Commands: The guide includes quick start commands for ironclaw mcp add, test, and list to help users get started quickly.
  • Transport Types Explained: An overview of different MCP transport types (HTTP, stdio, Unix socket) and their respective use cases is provided.
  • Example Server Configurations: Detailed, copy-paste setup commands are included for popular MCP servers such as Fulcra Context (personal health data), Filesystem (sandboxed directory access), and PostgreSQL (database querying).
  • Configuration File Reference: The structure of the mcp-servers.json configuration file is documented, showing how servers are stored.
  • MCP vs WASM Guidance: Links to an existing decision guide are provided to help users choose between MCP servers and native WASM tools based on their specific needs.
  • Resources for More Servers: The guide lists several resources, including official registries and community-curated directories, for discovering additional MCP servers.
Changelog
  • docs/MCP_SERVERS.md
    • Added a new documentation file detailing how to configure and use MCP servers with IronClaw.
Activity
  • The author reviewed FEATURE_PARITY.md and confirmed no changes were needed, as MCP support was already tracked.
  • The pull request consists solely of documentation changes, with no modifications to the codebase.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@github-actions github-actions bot added size: XS < 10 changed lines (excluding docs) risk: low Changes to docs, tests, or low-risk modules contributor: new First-time contributor labels Mar 9, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a new documentation file, docs/MCP_SERVERS.md, which is a guide for configuring MCP servers. The guide is well-structured and provides useful examples. I've identified a couple of areas for improvement: the configuration file example could be more comprehensive by including a stdio transport example, and a link to a "decision guide" appears to be pointing to the wrong file. Addressing these points will make the documentation even more helpful for users.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment on lines +88 to +97
{
"servers": [
{
"name": "fulcra",
"url": "https://mcp.fulcradynamics.com/mcp",
"enabled": true,
"description": "Personal context data — biometrics, sleep, activity, calendar, location"
}
]
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The configuration file example only shows a server with an implicit HTTP transport. To improve clarity for users who may need to manually edit mcp-servers.json, it would be beneficial to include an example of a server using stdio transport as well. This would demonstrate the structure of the transport object.

{
  "servers": [
    {
      "name": "fulcra",
      "url": "https://mcp.fulcradynamics.com/mcp",
      "enabled": true,
      "description": "Personal context data — biometrics, sleep, activity, calendar, location"
    },
    {
      "name": "filesystem",
      "url": "",
      "enabled": true,
      "transport": {
        "transport": "stdio",
        "command": "npx",
        "args": [
          "-y",
          "@modelcontextprotocol/server-filesystem",
          "/path/to/allowed/dir"
        ]
      }
    }
  ]
}


## When to Use MCP vs WASM

See the [decision guide in TOOLS.md](../tools-src/TOOLS.md) for guidance on choosing between MCP servers and native WASM tools. In general:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The link to the "decision guide in TOOLS.md" appears to be incorrect. The linked file, tools-src/TOOLS.md, is a feature checklist rather than a guide explaining when to choose MCP over WASM. This could confuse users. Please update the link to point to the correct document, or add the decision guide content to tools-src/TOOLS.md.

@henrypark133 henrypark133 changed the base branch from main to staging March 10, 2026 02:19
Copy link
Collaborator

@zmanian zmanian left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: docs/MCP_SERVERS.md

The guide is well-written and fills a real gap. However, it contains several factual errors that would mislead users. The main issue is that IronClaw only supports HTTP transport for MCP servers today -- stdio and Unix socket transports are not implemented. The CLAUDE.md explicitly lists "MCP stdio transport - Only HTTP transport implemented" as a current limitation.

Factual errors

  1. Stdio and Unix socket transports do not exist. The ironclaw mcp add command accepts only <name> <url> -- there are no --transport, --command, or --arg flags (see src/cli/mcp.rs lines 22-50). The transport table, the stdio examples (Fulcra local, Filesystem, PostgreSQL), and any mention of --transport stdio or --command/--arg are incorrect and will fail at the CLI.

  2. The configuration file format is incomplete. The actual McpServerConfig struct (src/tools/mcp/config.rs) includes oauth, enabled, and description fields, and the file has a schema_version field. The example JSON in the doc omits schema_version and doesn't mention that the real format looks different from what's shown. More importantly, it shows only name, url, enabled, description -- but the actual serialized format also includes oauth when present.

  3. Broken link. The "decision guide" link points to ../tools-src/TOOLS.md but from docs/MCP_SERVERS.md the correct relative path would be ../src/tools/README.md (that's where the "WASM Tools vs MCP Servers: When to Use Which" section lives).

Suggestions

  • Remove all stdio/Unix socket content, or clearly label it as "planned/future" with a note that only HTTP transport is currently supported.
  • Remove or rewrite the Filesystem and PostgreSQL examples since they require stdio transport. You could replace them with HTTP-based MCP server examples.
  • Rewrite the Fulcra example to show only the remote (HTTP) variant, which is the one that actually works today.
  • Fix the TOOLS.md link to point to ../src/tools/README.md.
  • Consider adding the schema_version field to the config file example for accuracy.

Minor nits

  • The Quick Start section shows ironclaw mcp list --verbose but the actual flag is --verbose (short: -v). This is correct.
  • The ironclaw mcp auth <name> command is accurately described.

@zmanian
Copy link
Collaborator

zmanian commented Mar 12, 2026

Closing — bot-generated docs PR, stale relative to current MCP implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: new First-time contributor risk: low Changes to docs, tests, or low-risk modules scope: docs Documentation size: XS < 10 changed lines (excluding docs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants