Files
semantica/integrations/openclaw
Sameer Kadam 58aad80d56 fix: guard Agno and OpenClaw integration requests against SSRF (#1212)
* fix: guard integration HTTP requests against SSRF

* fix(openclaw): complete fallback validation and base URL handling

Address the remaining review findings in the OpenClaw integration.

- Strengthen fallback base_url validation to require a non-empty string, valid HTTP(S) scheme, netloc, and hostname.
- Strip leading and trailing whitespace from base_url before storing it.
- Replace the flaky endpoint-construction test that made a real network connection with mocked session assertions.
- Add coverage for _get and _post endpoint construction and timeout forwarding.
- Add regression tests for whitespace-padded base URLs and the fallback validation path.

These changes complete the Qodo review fixes and harden OpenClaw URL handling without changing the intended localhost/private deployment behavior.
2026-08-24 21:08:46 +05:30
..

Semantica × OpenClaw Integration

Connect OpenClaw — the open-source personal AI agent — to Semantica's full knowledge-graph and decision-intelligence stack.

Two integration paths are available:

Path When to use
MCP (recommended) OpenClaw Gateway is running; zero extra code needed
REST / native tool Embedding Semantica directly in a SOUL.md agent config

1. Start the Semantica MCP server

python -m semantica.mcp_server

2. Add to mcporter.json

{
  "mcpServers": {
    "semantica": {
      "command": "python",
      "args": ["-m", "semantica.mcp_server"],
      "transport": "stdio"
    }
  }
}

3. Restart the OpenClaw Gateway

openclaw gateway restart

All 12 Semantica tools are now available to any OpenClaw agent:

Tool What it does
extract_entities Named entity recognition from text
extract_relations Relation / triplet extraction from text
record_decision Record a decision with causal links
query_decisions Search recorded decisions
find_precedents Find past decisions similar to a query
get_causal_chain Trace cause-effect chains from a node
add_entity Add a node to the knowledge graph
add_relationship Add an edge between two nodes
run_reasoning Forward-chain rules over facts
get_graph_analytics Centrality, communities, topology stats
export_graph Export graph (JSON, RDF, GraphML, …)
get_graph_summary High-level graph overview

3 resources are also exposed: semantica://graph/summary, semantica://decisions/list, semantica://schema/info.


Path 2 — Native Tool (REST)

Use OpenClawKGTool when you prefer a direct Python integration without the MCP gateway.

Install

pip install semantica[openclaw]   # pulls in 'requests'

Quick start

from integrations.openclaw import OpenClawKGTool

tool = OpenClawKGTool(base_url="http://localhost:8000")

# Extract knowledge from text
entities = tool.extract_entities("OpenClaw is an open-source AI agent built in Python.")
relations = tool.extract_relations("Alice manages the OpenClaw project at Hawksight.")

# Record and query decisions
tool.record_decision("Deploy model v2 to production", context="latency improved by 40%")
precedents = tool.find_precedents("roll back production deployment")

# Graph analytics
summary = tool.get_graph_summary()
analytics = tool.get_graph_analytics()

# Export
ttl = tool.export_graph(fmt="ttl")

Generate mcporter.json programmatically

from integrations.openclaw import OpenClawMCPConfig

cfg = OpenClawMCPConfig()
print(cfg.to_json())   # → paste into mcporter.json

SOUL.md agent snippet

Add Semantica to any OpenClaw agent by referencing the tool in your SOUL.md:

## Tools

- name: semantica_kg
  description: >
    Semantica knowledge-graph tool. Supports entity extraction, decision
    recording, graph querying, causal chain analysis, reasoning, and
    multi-format export.
  endpoint: http://localhost:8000
  auth: none

## Instructions

You have access to `semantica_kg`. Use it to:
- Extract entities and relations from any text the user provides.
- Record important decisions and retrieve precedents before recommending actions.
- Run graph analytics and export results when the user asks for a summary.

Requirements

  • Python 3.8+
  • pip install semantica (core)
  • pip install semantica[openclaw] (adds requests for the REST path)
  • OpenClaw ≥ latest — openclaw.ai