InfraNodus MCP Tools


Below you will find descriptions of every tool available in the InfraNodus MCP, its typical use case, the data it receives, and the structure of the response generated.

You can also use the tools with URL links (including YouTube videos which will be automatically transcribed) as well as existing InfraNodus graphs.

Note that exact schemas may change, so it's better to avoid hard-coding tool names or fields and instead rely on your LLM reading through all available tool descriptions.

Available Tools

Analysis Tools


Development Tools


Memory & Knowledge Base (GraphRAG)


Text Comparison Tools


Google / SEO Tools


Meta

Analysis Tools

generate_knowledge_graph

Generates a knowledge graph from text, URL (including YouTube video), or an existing InfraNodus graph. Shows main concepts (nodes), relations, topical clusters, and gaps. Useful for providing additional reproducible structure to LLMs or to steer their attention to a certain aspect of text.

Parameters
{ "text": "Your text to analyze", "includeGraph": true }
Response (abbreviated)
{
  "statistics": { "modularity": 0.295, "clusterCount": 3, "nodeCount": 14,
    "diversity_stats": { "diversity_score": "focused", "modularity_score": "medium",
      "too_focused_on_top_nodes": true, "ratio_of_top_nodes_influence_by_betweenness": 0.63 }},
  "contentGaps": ["Gap 1: Forbidden Knowledge -> Moral Duality", "..."],
  "mainTopicalClusters": [
    "1. Divine Consumption: god eat eye open (0 | 29% | 63%)",
    "2. Forbidden Knowledge: serpent tree fruit woman midst garden touch (1 | 50% | 26%)",
    "3. Moral Duality: knowing good evil (2 | 21% | 10%)"],
  "mainConcepts": ["god", "eat", "serpent", "knowing", "tree", "good", "..."],
  "conceptualGateways": ["god", "eat", "serpent", "good", "knowing", "..."],
  "topRelations": ["1) god <-> eat", "2) god <-> eye", "3) god <-> open", "..."],
  "topInfluentialNodes": [{ "node": "god", "bc": 0.59, "degree": 11 }],
  "knowledgeGraphByCluster": { "0": ["god <-> eat [label=\"eye, open\"]"], "..." : "..." }
}
create_knowledge_graph

Create a knowledge graph from text or URL and save it in InfraNodus for future reference or as a knowledge base.

Parameters
{ "graphName": "bible_genesis", "text": "Your text here", "includeGraph": true }
Response

Same as generate_knowledge_graph plus: graphName, graphUrl (link to edit the graph in InfraNodus).

generate_ontology_graph

Uses AI to generate a reasoning ontology — entities and the relations between them — for a topic, prompt, or text, and (by default) saves it as an InfraNodus graph. Unlike generate_knowledge_graph (which builds a graph from text you already have), this generates the structure with an LLM, so it's ideal for scaffolding a knowledge graph from just a topic (e.g. "build an ontology on AI attention mechanisms" or "the main principles of Ray Dalio applied to investment"). Pick the model with modelToUse; set saveGraph: false for a one-off overview you won't reuse.

Parameters
{ "prompt": "build an ontology on AI attention mechanisms",
  "graphName": "attention_ontology", "modelToUse": "claude-opus-4.6",
  "numberOfResults": 40, "saveGraph": true,
  "includeGraph": true, "includeAnalytics": true }

numberOfResults is the approximate number of ontology relations (max 40, default 40). includeGraph returns the compact node/edge structure; includeAnalytics returns clusters, gaps, and statistics. Both default to true.

Response
{
  "saved": true,
  "graphName": "attention_ontology",
  "graphUrl": "https://infranodus.com/your-name/attention_ontology",
  "editUrl": "https://infranodus.com/your-name/attention_ontology/edit",
  "message": "Ontology graph \"attention_ontology\" generated and saved.",
  "mainTopicalClusters": ["1. ...", "..."],
  "contentGaps": ["..."],
  "mainConcepts": ["..."],
  "topRelations": ["..."],
  "knowledgeGraph": { "...": "..." }
}

When saveGraph: false, returns ontologyStatements (the generated relations) instead of the graph links.

generate_topical_clusters

Extracts topical clusters from text, URL, YouTube video, or an existing graph. Compact delivery of the most important topics. Useful for generating summaries and improving LLM reasoning workflows.

Parameters
{ "text": "Your text to analyze" }
Response
{
  "topicalClusters": [
    "1. Divine Consumption: god eat eye open (0 | 29% | 63%)",
    "2. Forbidden Knowledge: serpent tree fruit woman midst garden touch (1 | 50% | 26%)",
    "3. Moral Duality: knowing good evil (2 | 21% | 10%)" ]
}
generate_content_gaps

Identifies areas of discourse that could be further developed and potential opportunities for generating insights by linking topics that are not well connected.

Parameters
{ "text": "Your text to analyze" }
Response
{
  "contentGaps": [
    "Gap 1: 2. Forbidden Knowledge (...) -> 3. Moral Duality (...)",
    "Gap 2: 1. Divine Consumption (...) -> 2. Forbidden Knowledge (...)",
    "Gap 3: 1. Divine Consumption (...) -> 3. Moral Duality (...)" ]
}
generate_research_questions

Generates research questions that bridge content gaps found in text. Use useSeveralGaps for diverse range of questions and gapDepth for less prominent gaps.

Parameters
{ "text": "Your text", "useSeveralGaps": true, "modelToUse": "gpt-4o" }
Response
{
  "questions": [
    "How does the interplay between forbidden knowledge and moral duality reflect on contemporary ethical dilemmas...?",
    "How does the act of consuming forbidden fruit symbolize a shift from divine control to human agency...?",
    "How does the metaphor of 'divine consumption' explore the interplay between forbidden knowledge and moral duality...?" ]
}
generate_research_ideas

Generates ideas to develop text further. By default bridges content gaps within the text's context. With shouldTranscend: true, focuses on the least represented clusters and conceptual gateways to link the text to a wider discourse.

Parameters
{ "text": "Your text", "useSeveralGaps": true, "shouldTranscend": true, "modelToUse": "gpt-4o" }
Response
{
  "responses": ["In the labyrinth of divine prohibition and serpentine temptation, one might propose a novel perspective: 'Consciousness as the forbidden fruit.'..."]
}
generate_responses_from_graph

Generates responses and expert advice to a prompt based on the structure of a text, URL, or existing InfraNodus graph. Rather than retrieving statements verbatim (as retrieve_from_knowledge_base does), it synthesizes an answer informed by the graph's main topics, concepts, and relations. Choose the AI model with modelToUse.

Parameters
{ "graphName": "test_bible", "prompt": "What does this text say about temptation?", "modelToUse": "gpt-4o" }
Response
{
  "responses": ["Across the discourse, temptation operates as the hinge between forbidden knowledge and moral awareness — the serpent's invitation reframes prohibition as a choice..."]
}
generate_contextual_hint

Generates a structural summary for an LLM to have a general overview of the context. Useful for GraphRAG-augmented retrieval where the system can understand the knowledge base's main topical clusters, concepts, and gaps.

Parameters
{ "text": "Your text to analyze" }
Response

Returns a textOverview string containing structured XML-like tags for MainConcepts, MainTopics, TopicalGaps, ConceptualGateways, Relations, and DiversityStatistics.

analyze_existing_graph_by_name

Extract an existing graph from InfraNodus and provide full graph analysis: main topical clusters, concepts, gaps, and diversity statistics.

Parameters
{ "graphName": "my-graph-name" }
Response

Same structure as generate_knowledge_graph response.

analyze_text

General text analysis from text, URL, or YouTube video. Similar to generate_knowledge_graph but focused on analysis results and structural recommendations (e.g. diversity and focus). Includes analyzed statements.

Parameters
{ "text": "Your text to analyze" }
Response

Same structure as generate_knowledge_graph plus statements array with content, community assignments, and hashtags.

Development Tools

develop_latent_topics

Identifies underdeveloped topics and generates ideas (with requestMode: "transcend") or research questions to develop them further. Provides information about the latent topical clusters used.

Parameters
{ "text": "Your text", "requestMode": "transcend" }
Response
{
  "ideas": ["The narrative suggests a deeper exploration: the interplay between forbidden insight and transformative agency..."],
  "mainTopics": ["1. Divine Consumption: god eat eye open (0 | 29% | 63%)", "..."],
  "latentTopicsToDevelop": ["god <-> eat [label=\"eye, open\"]", "..."]
}
develop_conceptual_bridges

Similar to develop_latent_topics but focuses on nodes with high ratio of influence to degree (betweenness centrality / degree). These concepts link different topical clusters and can connect the discourse to another context. Useful for thinking "outside the box".

Parameters
{ "text": "Your text", "requestMode": "transcend" }
Response
{
  "ideas": ["The true transformation lies not in forbidden knowledge or divine consumption, but in transcending both..."],
  "latentConceptsToDevelop": ["god", "eat", "serpent", "good", "knowing", "..."],
  "latentConceptsRelations": ["god <-> eat [label=\"woman, fruit, serpent, tree\"]", "..."]
}
develop_text_tool

Comprehensive text development combining multiple tools: (1) "optimize" — generates ideas based on gap between clusters adapting to text structure; (2) "latent" — extracts underdeveloped topics; (3) "conceptual bridges" — extracts concepts linking to broader context. Use transcendDiscourse: true to push beyond the text.

Parameters
{ "text": "Your text to develop", "transcendDiscourse": true }
Response
{
  "contentGapIdeas": ["What if the true essence of the garden lies not in avoiding temptation..."],
  "latentTopicsIdeas": ["The narrative suggests a deeper exploration..."],
  "conceptualBridgesIdeas": ["One could propose a novel perspective: the act of 'eating' symbolizes transcendence..."],
  "contentGaps": ["Gap 1: ...", "Gap 2: ...", "Gap 3: ..."],
  "conceptualBridges": ["god", "eat", "serpent", "good", "knowing", "..."],
  "latentTopics": ["god <-> eat [label=\"eye, open\"]", "..."],
  "mainTopics": ["1. Divine Consumption: god eat eye open (0 | 29% | 63%)", "..."]
}
optimize_text_structure

Analyzes bias and coherence in text: if too biased, develops least represented topics; if focused/diversified, develops content gaps; if dispersed, develops most common gap topics. Set responseType: "transcend" to connect to wider context.

Parameters
{ "text": "Your text to optimize", "responseType": "transcend" }
Response
{
  "suggestions": ["The narrative contains a dynamic tension between forbidden touch and divine knowledge..."],
  "diversity_stats": { "diversity_score": "focused", "modularity_score": "medium", "..." : "..." },
  "mainTopicalClusters": ["1. Divine Consumption: ...", "2. Forbidden Touch: ...", "3. Moral Awareness: ..."],
  "contentGaps": ["..."],
  "topicsToDevelop": ["midst <-> garden [label=\"...\"]", "knowing <-> good [label=\"evil\"]"],
  "conceptualGateways": ["god", "eat", "serpent", "good", "knowing", "..."]
}

Memory & Knowledge Base (GraphRAG)

Discover, query, and persist knowledge in InfraNodus. Use list_graphs to find existing graphs, the GraphRAG retrieval tools (retrieve_from_knowledge_base, search, fetch) to pull relevant content into your context, and the memory tools to save structured "memories" as knowledge graphs. With memory tools, entities in text are converted to [[wikilinks]] nodes — useful for saving and retrieving structured memories from LLM conversations.

list_graphs

Lists all graphs in the user's account. Can search by name, type, date, language, and favorites.

Parameters
{ "nameContains": "bible", "type": "memory" }
Response
{
  "totalGraphs": 1,
  "graphs": [{ "id": 294, "name": "test_bible_memory", "type": "MEMORY",
    "isFavorite": false, "createdAt": "2026-02-14T18:00:31.564Z", "language": "AUTO" }]
}
retrieve_from_knowledge_base

Get an existing graph by name and retrieve statements relevant to the prompt using GraphRAG and RAG retrieval. Use includeGraphSummary: true to augment your RAG flows with contextual overview. Even queries with terms not in the graph (e.g. "sin" for a Bible graph) will retrieve relevant content.

Parameters
{ "graphName": "test_bible", "prompt": "sin", "includeGraphSummary": true }
Response
{
  "retrievedStatements": [
    { "content": "God said, 'You shall not eat of the fruit...'",
      "topStatementCommunity": "1", "similarityScore": 0.167 }
  ],
  "graphSummary": ": god (11 | 0.5897)... ..."
}
fetch

Fetches the statements found using the search tool above using the ID it provided.

Parameters
{ "id": "deemeetree:test_bible:serpent" }
Response
{
  "id": "deemeetree:test_bible:serpent", "title": "test_bible",
  "text": "God said, 'You shall not eat of the fruit...'",
  "url": "https://infranodus.com/deemeetree/test_bible/edit"
}
memory_add_relations

Add relations to a memory graph (creates a new graph if it doesn't exist). By default, entities are detected as [[wikilinks]], so the resulting graph is a high-level representation of the main concepts.

Parameters
{ "graphName": "test_bible_entities", "text": "Your text here",
  "modifyAnalyzedText": "extractEntitiesOnly" }
Response
{
  "mainTopicalClusters": ["Divine Temptation: [[god]] [[fruit]] [[tree]] [[the_serpent]] [[good_and_evil]] (0 | 100%)"],
  "mainConcepts": ["[[god]]", "[[fruit]]", "[[tree]]", "[[the_serpent]]", "[[good_and_evil]]"],
  "topRelations": ["1) [[god]] <-> [[the_serpent]]", "2) [[god]] <-> [[tree]]", "..."],
  "graphName": "test_bible_memory", "graphUrl": "https://infranodus.com/.../edit"
}
memory_get_relations

Retrieves memory from InfraNodus containing a specific entity, or all statements in a graph if entity is empty.

Parameters
{ "memoryContextName": "test_bible_memory", "entity": "[[god]]" }
Response
{
  "statements": ["[[God]] said, 'You shall not eat of the [[fruit]] of the [[tree]]...'"],
  "graphNames": ["test_bible_memory"],
  "graphUrls": ["https://infranodus.com/.../edit"]
}

Text Comparison Tools

Compare multiple texts to find commonalities, differences, or build merged overviews. Useful for competitive analysis, content gap identification, and discourse overview from multiple sources.

difference_between_texts

Shows what's missing in the first text/URL/graph that is present in the others. The result shows the relations and clusters that are missing (not just keywords, since most texts use similar concepts but differ in relations). Useful for finding content gaps relative to existing discourse.

Parameters
{
  "contexts": [
    { "url": "https://infranodus.com" },
    { "text": "Network science meets cognitive variability" },
    { "graphName": "test_bible" }
  ], "includeStatements": true
}
Response

Returns mainTopicalClusters, contentGaps, mainConcepts, topRelations, and optionally statements that show only the content present in contexts 2+ but NOT in context 1.

overlap_between_texts

Finds common topics and relations that exist in all provided texts, URLs, or graphs. Reveals common themes across specific content. If any context has no intersections with the rest, no results are shown.

Parameters
{
  "contexts": [
    { "graphName": "test_bible" },
    { "text": "Serpent is a woman's friend" },
    { "url": "https://www.biblegateway.com/passage/?search=Genesis%203&version=NIV" }
  ], "includeStatements": true
}
Response

Returns the mainTopicalClusters, mainConcepts, topRelations, and statements showing only the overlapping content found across all contexts.

merged_graph_from_texts

Generates a merged graph from several texts, URLs, and existing graphs. Provides information about main topics and gaps in a collection of documents. Useful for getting an overview of a discourse from various sources.

Parameters
{
  "contexts": [
    { "graphName": "test_bible" },
    { "text": "Serpent is a woman's friend" },
    { "url": "https://www.biblegateway.com/passage/?search=Genesis%203&version=NIV" }
  ]
}
Response

Returns mainTopicalClusters, contentGaps, mainConcepts, topRelations for the merged graph across all provided contexts.

Google / SEO & LLMO Tools

Tools for optimizing content for search engines and LLMs. They access real search results and search intent data with statistical information about search volume and keyword popularity. For generative engine optimization (GEO/LLMO), analyze_llm_results graphs how a chosen LLM frames a topic or brand.

analyze_google_search_results

Generates a graph of the Google search results for a certain query. Useful for understanding which topics should be covered to gain topical authority. Set includeSearchResults: true to include URLs retrieved.

Parameters
{ "queries": ["bible", "forbidden fruit"], "showExtendedGraphInfo": true }
Response

Returns statistics, graphSummary, contentGaps, mainTopicalClusters, mainConcepts, conceptualGateways, topRelations, and topInfluentialNodes for the search results graph.

search_queries_vs_search_results

Finds search query clusters with high search volume that do not appear in Google search results — reveals content gaps in current informational supply. Use includeSearchQueries: true for actual queries with search volume.

Parameters
{ "queries": ["heart rate variability", "fitness trackers"],
  "showExtendedGraphInfo": true, "includeSearchQueries": true,
  "importLanguage": "EN", "importCountry": "US" }
Response

Returns mainTopicalClusters (e.g. "Fitness Accuracy", "HRV Monitoring"), contentGaps showing demand-supply mismatches, conceptualGateways, and statements with search volume data.

analyze_llm_results

Asks an LLM to describe a topic, then turns its response into a knowledge graph that reveals how the model frames it — main concepts, clusters, content gaps, and relations. Useful for probing model bias, surfacing the implicit structure of an LLM's view on a subject, and for LLMO/GEO work (understanding how models talk about your brand or topic). Compare how different models see the same topic by changing modelToUse. Each completion becomes one statement, so numberOfResults drives a multi-angle view.

Parameters
{ "prompt": "What is InfraNodus and what is it used for?",
  "modelToUse": "claude-opus-4.6", "numberOfResults": 20,
  "modifyAnalyzedText": "detectEntities", "saveGraph": true,
  "includeGraph": false, "includeAnalytics": true }

numberOfResults = number of separate LLM completions (default 20; each is a model call, so it drives cost/latency). includeAnalytics (clusters, gaps, statistics) defaults to true; includeGraph (raw node/edge structure) defaults to false to keep the response small.

Response
{
  "saved": true,
  "graphName": "llm_view_what_is_infranodus_...",
  "graphUrl": "https://infranodus.com/your-name/llm_view_...",
  "editUrl": "https://infranodus.com/your-name/llm_view_.../edit",
  "message": "LLM overview graph \"...\" generated and saved.",
  "mainTopicalClusters": ["1. ...", "..."],
  "contentGaps": ["..."],
  "mainConcepts": ["..."],
  "topRelations": ["..."]
}

When saveGraph: false, returns llmStatements (the raw LLM completions) instead of the graph links.

generate_seo_report

Full SEO report: extracts text and keywords, retrieves search results (topical authority), search intent (demand), then generates what people search for but don't find, and synthesizes content ideas and gap recommendations. Extract header tags or link tags for specific analysis. Execution may take 60-90 seconds.

Parameters
{ "url": "https://infranodus.com", "contentToExtract": "header tags" }
Response
{
  "inSearchResultsNotInText": {
    "mainTopics": ["1. Content Gaps: learn keyword analysis gap...", "..."],
    "conceptsToDevelop": ["learn", "seo", "keyword", "entity", "..."]
  },
  "inSearchQueriesNotInText": {
    "mainTopics": ["1. Insight Network: ai analysis knowledge graph...", "..."],
    "conceptsToDevelop": ["thinking", "infranodus", "analysis", "..."]
  },
  "inSearchQueriesNotInResults": {
    "mainTopics": ["1. PDF Tools: free tool seo...", "2. LLM Integration: graph llm knowledge python...", "..."],
    "conceptsToDevelop": ["tool", "free", "graph", "llm", "..."]
  },
  "topMissingQueries": [
    "content gap analysis ahrefs | 100 to 1000 searches/month",
    "knowledge graph llm | 100 to 1000 searches/month", "..." ]
}

Meta

get_more_tools

Checks for additional specialized InfraNodus tools whenever a task might benefit from capabilities not already loaded. Some MCP clients expose a reduced toolset by default; this lets the LLM request the rest on demand. Pass a context describing your goal and the kind of tool that would help.

Parameters
{ "context": "I need to compare two documents to find what topics one is missing." }
Response

Returns a list of additional tool definitions relevant to the described goal, which then become available to call.