About textgraph
textgraph is an MCP server and CLI for turning text into InfraNodus knowledge graphs and analyzing their topics, gaps, and relationships. It also compares texts and queries graphs stored in an InfraNodus account.
Key features
- 01Convert text into knowledge graphs
- 02Analyze topics and clusters
- 03Find content gaps and research ideas
- 04Compare multiple texts
- 05Query graphs in an account
Use cases
- 01Map concepts in an article
- 02Identify missing connections in research
- 03Compare themes across documents
MCP support
Exposes 12 tools to MCP clients for creating and analyzing knowledge graphs, finding gaps, and comparing text. Calls require an InfraNodus API key.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
12Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | Yes | The text to convert into a knowledge graph. |
| graphName | string | No | Optional name for the generated graph. |
Details
From the project READMEtextgraph
textgraph turns a piece of text into a knowledge graph and answers questions about that graph: what the main topics and clusters are, which connections are missing, and what research questions or ideas those gaps suggest. It can also create a graph in an InfraNodus account, analyse an existing graph by name, and compare several texts through their graphs.
This package is a clean-room rebuild, and a labelled core subset: it covers 12 of the 22+ tools documented for the original InfraNodus MCP server. The omitted tools are listed under "Scope" below.
How it talks to the service
Every tool needs an InfraNodus API key:
export INFRANODUS_API_KEY="your key"
# Optional override (default: https://api.infranodus.com)
export INFRANODUS_API_URL="https://api.infranodus.com"
With no key set, every call fails with an error naming
INFRANODUS_API_KEY, before any request is made.
Wire-format note: the original project's README documents the
tools and their purposes, not the HTTP wire format. The endpoint
shape used here is a documented reconstruction: each tool POSTs its
JSON arguments to {INFRANODUS_API_URL}/<tool name> — the tool name
with underscores, exactly as listed — with
Authorization: Bearer INFRANODUS_API_KEY. Responses are parsed
tolerantly: JSON is returned as structured text, a non-JSON body is
returned as-is, and an upstream HTTP error is reported with its
status and a body excerpt.
Local validation, applied before any request: analyze_text
requires at least one of text or url;
optimize_text_structure's responseType must be one of response,
idea, question, or transcend; and overlap_between_texts /
difference_between_texts require at least two texts.
Install
npx @reneturcios/textgraph generate_content_gaps '{"text":"..."}'
Or run the container image:
docker run -i ghcr.io/cloudcorprecords/textgraph
The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.
CLI
The CLI mirrors the tools: one subcommand per tool, taking its arguments as a single JSON object.
textgraph generate_knowledge_graph '{"text":"...","graphName":"notes"}'
textgraph analyze_existing_graph_by_name '{"graphName":"notes"}'
textgraph analyze_text '{"url":"https://example.com/article"}'
textgraph optimize_text_structure '{"text":"...","responseType":"idea"}'
textgraph overlap_between_texts '{"texts":["first","second"]}'
textgraph --version
Exit codes: 0 on success, 1 on an API or validation error (the
error names the problem), 2 for usage errors.
MCP server
One bin serves both faces. The mcp subcommand starts a stdio MCP
server:
npx -y @reneturcios/textgraph mcp
MCP client configuration:
{
"mcpServers": {
"textgraph": {
"command": "npx",
"args": ["-y", "@reneturcios/textgraph", "mcp"],
"env": { "INFRANODUS_API_KEY": "your key" }
}
}
}
Tools
| Tool | Input | What it does |
|---|---|---|
generate_knowledge_graph | text (required), graphName | Convert text into a knowledge graph: topics, concepts, relationships, clusters. |
analyze_existing_graph_by_name | graphName (required) | Retrieve and analyze an existing graph from the account. |
analyze_text | text and/or url (at least one required, validated locally) | Analyze a text or URL: topics, clusters, statements, graph structure. |
generate_content_gaps | text (required) | Detect missing connections and underexplored topics in a text. |
generate_topical_clusters | text (required), generateTopicalSummaries | Topics and keyword clusters from text. |
generate_contextual_hint | text (required) | Topical overview of a text to augment LLM responses. |
generate_research_questions | text (required) | Research questions bridging content gaps. |
generate_research_ideas | text (required) | Research ideas based on content gaps. |
optimize_text_structure | text (required), responseType (one of response / idea / question / transcend, validated locally) | Bias/coherence analysis. |
create_knowledge_graph | text (required), graphName, statements, categories | Create a graph in the account from text and return its link. |
overlap_between_texts | texts (array, at least 2, validated locally) | Similarities between texts via their graphs. |
difference_between_texts | texts (array, at least 2, validated locally) | What's in the other texts but not the first. |
Scope
Omitted from this core subset: optimize_reasoning,
generate_responses_from_graph, develop_conceptual_bridges,
develop_latent_topics, develop_text_tool,
generate_ontology_graph, analyze_llm_results,
merged_graph_from_texts, analyze_google_search_results,
analyze_youtube_results, and any tools beyond the fetched README
list. The summaries, ideas, and questions these tools return are
produced by the upstream InfraNodus service; this package reproduces
the tool surface and the request/response handling, not that
service's analysis quality.
Development
npm install
npm run build # tsc -> dist/
npm test # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev # run the CLI from source via tsx
License
MIT — see LICENSE.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.