Install MCP Server to OpenClaw AI Agent


OpenClaw is a local autonomous AI agent that can run tools from MCP servers via MCPorter. Once MCPorter is installed and the InfraNodus MCP server is configured, OpenClaw can automatically call any InfraNodus tool based on your natural language prompts.

Prerequisite: MCPorter

OpenClaw relies on MCPorter to access MCP servers. You need to have MCPorter installed and the InfraNodus MCP server configured before proceeding. Follow the Terminal / Local CLI installation guide first to set up MCPorter and add the InfraNodus MCP server.

How It Works

OpenClaw does not need to have the MCP server added directly. Instead, it relies on mcporter to provide it a schema for each particular server / tool. When you give OpenClaw a prompt, it will:

  1. Invoke MCPorter and read the schema for the InfraNodus MCP server
  2. Understand which tool to use based on your prompt
  3. Make the appropriate mcporter call request via the command line
  4. Ingest the response and augment its answer with the data

How To Install InfraNodus MCP Server to OpenClaw

There are two ways to use the InfraNodus MCP server with OpenClaw: either through the skill that will make the MCP server available to OpenClaw using the `mcporter` tool or directly via the `mcporter` tool itself.


Option 1: Using the InfraNodus MCP Server OpenClaw Skill — Recommended

You can add the `infranodus-cli.zip` skill file to OpenClaw from the InfraNodus skills repository and install it via the OpenClaw skills menu.


Install via OpenClaw Chat

To install, run the following command in the OpenClaw chat (replace the version number `v1.0.6` with the latest one):

install this skill to the `skills` folder: https://github.com/infranodus/skills/releases/download/v1.0.6/infranodus-cli.zip

This may not work in a sandboxed environment, in which case you can proceed with the manual installation below.


Manual OpenClaw Skills Installation

You can also manually copy the zip file above to the `skills` folder in your OpenClaw home directory and unzip it there.

To make the skill available globally, in all your projects:

cp infranodus-cli.zip ~/.openclaw/skills/infranodus-cli.zip
unzip ~/.openclaw/skills/infranodus-cli.zip -d ~/.openclaw/skills/infranodus-cli

For a specific project or workspace, copy to that project's skills folder instead. For instance, if you'd like the skill only to be available in a specific workspace:

cp infranodus-cli.zip ~/.openclaw/workspaces/skills/infranodus-cli.zip
unzip ~/.openclaw/workspace/skills/infranodus-cli.zip -d ~/.openclaw/workspace/skills/infranodus-cli

Setting Up the API Key for the Skill

Set the environment variable directly in OpenClaw's interface: go to Settings > Skills > Worksspace Skills > and add the InfraNodus API key.

OpenClaw environment variable

You can also add the key manually in the OpenClaw config file:

Or via OpenClaw config (~/.openclaw/openclaw.json):

{
  "skills": {
    "entries": {
      "infranodus": {
        "enabled": true,
        "apiKey": "YOUR_INFRANODUS_API_KEY"
      }
    }
  }
}


Note, that this setup will only work in non-sandboxed environments. For sandboxed environment, you'll either need to provide your InfraNodus API key directly in the chat (less secure) or additionally add it to the `sandbox` environment scope in the `~/.openclaw/openclaw.json` config file like this:

"sandbox": {
	"mode": "all",
	"workspaceAccess": "rw",
	"scope": "session",
	"docker": {
		"image": "openclaw-sandbox-mcporter:latest",
		"network": "bridge",
		"binds": [
			"/Users/dmt/Software/Second Brain:/mnt/Obsidian/Second Brain:rw",
			"/Users/dmt/Dropbox/Research:/mnt/Dropbox/Research:ro"
		],
		"dangerouslyAllowExternalBindSources": true,
		"env": {			
			"INFRANODUS_API_KEY": "YOUR_INFRANODUS_API_KEY"		
		}			
	}
}


Option 2: Using the InfraNodus MCP Server via the `mcporter` tool

You can invoke the InfraNodus MCP server via its `mcporter` tool after installing it via the commands below. Note, THIS HAS LIMITED SUPPORT FOR SANDBOXED ENVIRONMENTS because the OAuth authorization does not persist, so you will either have to provide the API key in the chat or install the skill above and add your API key manually as an environmental parameter in OpenClaw's Skills settings (that's more secure for the key as it's not exposed in the OpenClaw chat then).

To install your InfraNodus MCP server globally, run:

mcporter config --config ~/.mcporter/mcporter.json \
add infranodus --url https://mcp.infranodus.com \
--auth oauth \
--header "accept=application/json, text/event-stream"

To install your InfraNodus MCP server locally, run:

mcporter config add infranodus \
--url https://mcp.infranodus.com/ \
--transport http \
--auth oauth \
--header "accept=application/json, text/event-stream" \
--scope home

You then need to log in:

mcporter auth infranodus --reset

This will open a browser window where you can log in with your InfraNodus API key.

Note, that this setup will only work in non-sandboxed environments. For sandboxed environemnt, you'll either need to provide your InfraNodus API key in the chat or install the InfraNodus skill above and add the API key in the setting as an environmental parameter (that's safer for the key).

Viewing Available Tool Schemas

To see all available InfraNodus tools and their schemas that OpenClaw will use:

mcporter list infranodus --schema

This will list all the tools available in the MCP server as Typescript functions with schema definitions. This is sufficient for OpenClaw to understand how to use the tools, which parameters to provide, and what objectives each tool can help accomplish.

Example: Content Gap Analysis

For instance, the generate_content_gaps tool schema looks like this:

/**
 * Generate content gaps from text, URL, or an existing graph
 * using knowledge graph analysis.
 *
 * @param text? Text to retrieve content gaps from.
 * @param url? URL to fetch content from or YouTube video URL.
 * @param graphName? Name of an existing InfraNodus graph.
 */
function generate_content_gaps(
  text?: string,
  url?: string,
  graphName?: string
);

You can ask OpenClaw to run content gap analysis using InfraNodus with a prompt like:

find content gaps using infranodus in this text: "God said, 'You shall not eat of the fruit of the tree which is in the midst of the garden, neither shall you touch it, lest you die.'" But the serpent said to the woman, "You will not die. For God knows that when you eat of it your eyes will be opened, and you will be like God, knowing good and evil."

If you have the InfraNodus skill installed, OpenClaw will invoke that skill and then attempt to use MCPorter to invoke the MCP server and read the schema, then it will understand that it should use the generate_content_gaps tool and make the following request:

mcporter call infranodus.generate_content_gaps text="God said, 'You shall not eat of the fruit of the tree which is in the midst of the garden, neither shall…"

This request is calling the infranodus.generate_content_gaps tool via the command line available to OpenClaw.

If you didn't install the InfraNodus skill, you need to explicitly ask OpenClaw to use the InfraNodus MCP server in the prompt. You might be asked for an API key.

The tool provides this result:

{
  "contentGaps": [
    "Gap 1: 2. Edenic Growth (tree midst fruit garden touch) -> 3. Moral Awareness (knowing good evil)",
    "Gap 2: 1. Divine Consumption (eat god eye open) -> 2. Edenic Growth (tree midst fruit garden touch)",
    "Gap 3: 1. Divine Consumption (eat god eye open) -> 3. Moral Awareness (knowing good evil)"
  ]
}

OpenClaw will then ingest this information and augment its response:

Here are the content gaps identified by InfraNodus via knowledge graph analysis:

Gap 1: Edenic Growth ↔ Moral Awareness
(tree, midst, fruit, garden, touch) → (knowing, good, evil)
The text doesn't connect the physical setting (the tree, the garden, touching
the fruit) with the moral outcome (knowing good and evil). What's the mechanism?
How does eating a physical fruit produce moral knowledge?

Querying Existing Graphs

You can also query content gaps directly from your existing InfraNodus graphs. For instance, to get the gaps in a graph called gato-politics-memory:

mcporter call infranodus.generate_content_gaps graphName="gato-politics-memory"

The response:

{
  "contentGaps": [
    "Gap 1: 3. Meaning Justification ([[relational_meaning]] ...) -> 6. Governance Accountability ([[transnational]] ...)",
    "Gap 2: 2. Protocol Coordination ([[protocols]] ...) -> 3. Meaning Justification ([[relational_meaning]] ...)",
    "Gap 3: 1. Harm Metrics ([[metrics]] [[harm]] ...) -> 3. Meaning Justification ([[relational_meaning]] ...)"
  ]
}

You can then reuse this in your LLM workflow.

To see the full list of tool definitions available for the InfraNodus MCP server, visit the MCP Tools page.