InfraNodus CLI Skill for OpenClaw
The InfraNodus CLI skill (infranodus-cli) is a comprehensive reference that gives
OpenClaw, Claude Code, Cursor, or any LLM client access to the full
InfraNodus MCP server tool catalog via MCPorter.
It covers text network analysis, knowledge graph generation, content gap detection, SEO/GEO optimization, structured memory, text comparison, and GraphRAG retrieval. The skill accepts plain text, URLs (including YouTube video transcription), and existing InfraNodus graphs.
Download infranodus-cli.zip OpenClaw Setup GuideInstall the Skill
Via OpenClaw Chat (recommended)
Run in the OpenClaw chat (replace the version number 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 Installation
Download infranodus-cli.zip and copy it to the OpenClaw skills folder:
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
Setup & Authentication
The skill requires MCPorter installed and an InfraNodus API key. Two authentication options:
Option 1: API Key (recommended for headless / automated setups)
Set the environment variable directly in OpenClaw's interface: go to Settings > Skills > Worksspace Skills > and add the InfraNodus API key.
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"
}
}
}
OpenClaw maps apiKey to the INFRANODUS_API_KEY env var automatically. Then add the server:
mcporter config add infranodus \
--url https://mcp.infranodus.com/ \
--transport http \
--header "accept=application/json, text/event-stream" \
--header "Authorization=Bearer $INFRANODUS_API_KEY" \
--scope home
Option 2: OAuth (interactive browser login)
# Add the server with OAuth
mcporter config add infranodus \
--url https://mcp.infranodus.com/ \
--transport http \
--auth oauth \
--header "accept=application/json, text/event-stream" \
--scope home
# Authenticate (opens browser)
mcporter auth infranodus
To re-authenticate: mcporter auth infranodus --reset
Note: OAuth only works in non-sandboxed environments. For sandboxed setups, use the API key approach or add the key in OpenClaw's Skills settings as an environment parameter.
Verify
mcporter list
Expected output:
mcporter 0.7.3 — Listing 1 server(s) (per-server timeout: 30s)
- infranodus (27 tools, 0.8s)
✔ Listed 1 server (1 healthy).
Calling Tools
Once the skill is installed, OpenClaw will automatically call the right tool based on your prompt. You can also call tools manually:
# Inline key=value arguments
mcporter call infranodus.<tool_name> key=value
# JSON arguments
mcporter call infranodus.<tool_name> --args '{"text": "...", "includeGraph": true}'
All analysis tools accept text (plain string), url
(webpage or YouTube video), or graphName (existing InfraNodus graph).
Tool Catalog
Analysis & Knowledge Graphs
| Tool | Purpose |
|---|---|
generate_knowledge_graph | Full graph: clusters, gaps, concepts, relations, diversity. includeGraph: true for full structure. |
create_knowledge_graph | Same as above but saves to InfraNodus. Requires graphName. |
analyze_text | General analysis with clusters, gaps, concepts, and statements. |
analyze_existing_graph_by_name | Analyze an already-saved graph by name. |
generate_topical_clusters | Compact extraction of main topical clusters only. |
generate_content_gaps | Underdeveloped areas between clusters. |
generate_contextual_hint | Structural summary for LLM context / GraphRAG augmentation. |
Ideation & Development
| Tool | Purpose |
|---|---|
generate_research_questions | Questions bridging content gaps. useSeveralGaps: true for diversity. |
generate_research_ideas | Ideas to develop the text. shouldTranscend: true for wider discourse. |
develop_text_tool | Combined: gap ideas + latent topics + conceptual bridges. transcendDiscourse: true for outside-the-box thinking. |
develop_latent_topics | Underdeveloped topics with development ideas. requestMode: "transcend". |
develop_conceptual_bridges | High-influence bridging concepts linking clusters to other contexts. |
optimize_text_structure | Bias/coherence analysis with improvement suggestions. |
Memory (Knowledge Graph Memory)
| Tool | Purpose |
|---|---|
memory_add_relations | Save structured memories as knowledge graphs with [[wikilink]] entities. |
memory_get_relations | Retrieve by entity. Pass memoryContextName, optional entity (e.g. [[god]]). |
Retrieval & Search
| Tool | Purpose |
|---|---|
retrieve_from_knowledge_base | GraphRAG retrieval. graphName + prompt; optional includeGraphSummary: true. |
list_graphs | List graphs. Filter by nameContains, type. |
search | Search all graphs for a term. Returns graph IDs. |
fetch | Fetch full statements found by search using the returned id. |
Text Comparison
All take a contexts array: [{text: "..."}, {url: "..."}, {graphName: "..."}]
| Tool | Purpose |
|---|---|
generate_difference_graph_from_text | What's in contexts 2..N but NOT in context 1. |
generate_overlap_from_texts | Topics common to all contexts. |
merged_graph_from_texts | Merge multiple sources into one overview graph. |
SEO / GEO / LLMO
| Tool | Purpose |
|---|---|
analyze_google_search_results | Graph of Google results. includeSearchResults: true for URLs. |
analyze_related_search_queries | "People also search for" with volume. Set importLanguage, importCountry. |
search_queries_vs_search_results | High-volume queries not covered by results — content opportunities. |
generate_seo_report | Full SEO report combining all tools. Timeout: 90s+. |
Key Patterns
- Input flexibility: most tools accept
text,url(incl. YouTube), orgraphName. - Comparison tools use a
contextsarray of{text},{url}, or{graphName}objects (min 2). - Diversity stats in responses: biased (too concentrated) → focused → diversified (balanced) → dispersed (too scattered).
- Content gaps = under-connected topic clusters = opportunities for new ideas.
- Conceptual gateways = high-influence bridging nodes linking different clusters.
OpenClaw Skill Metadata
The skill registers with OpenClaw using the following metadata, which defines its dependencies and auto-install behavior:
name: infranodus
homepage: https://infranodus.com
metadata:
openclaw:
emoji: "🕸️"
requires:
bins: ["mcporter"]
env: ["INFRANODUS_API_KEY"]
primaryEnv: INFRANODUS_API_KEY
install:
- id: mcporter
kind: node
package: mcporter
bins: ["mcporter"]
label: "Install mcporter (node)"
This means OpenClaw will automatically check for mcporter and offer to install it if missing.
The INFRANODUS_API_KEY environment variable is required and can be set via OpenClaw's skill settings or ~/.openclaw/openclaw.json.