Skip to main content
Glama

export-knowledge-graph

Export structured knowledge graphs from repositories in JSON, Mermaid, DOT, or Cypher formats. Designed for advanced code analysis and dependency visualization in the CodeAnalysis MCP Server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNojson
repositoryUrlYes

Implementation Reference

  • The server.tool call that registers the 'export-knowledge-graph' tool. It includes the Zod input schema (repositoryUrl and format), and the inline async handler function that queries the full knowledge graph for the repository and exports it using the exportKnowledgeGraph helper in the specified format.
    server.tool( "export-knowledge-graph", { repositoryUrl: z.string(), format: z.enum(["json", "mermaid", "dot", "cypher"]).default("json") }, async ({ repositoryUrl, format }) => { try { // First query the graph to get all nodes and relationships const results = await queryKnowledgeGraph({ query: "MATCH (n)-[r]-(m) WHERE n.repository = $repositoryUrl RETURN n, r, m", repositoryUrl }); // Export in requested format const exported = await exportKnowledgeGraph(results, format); return { content: [{ type: "text", text: exported, _metadata: format === "mermaid" ? { format: "mermaid" } : undefined }] }; } catch (error) { return { content: [{ type: "text", text: `Error exporting knowledge graph: ${(error as Error).message}` }], isError: true }; } } );
  • Zod schema defining the input parameters for the export-knowledge-graph tool: repositoryUrl (string) and format (enum with default 'json').
    { repositoryUrl: z.string(), format: z.enum(["json", "mermaid", "dot", "cypher"]).default("json")
  • Core helper function that takes graph query results and exports them to the specified format by delegating to format-specific exporters (JSON stringify, exportToMermaid, exportToDot, exportToCypher). Called by the tool handler.
    export async function exportKnowledgeGraph(results: GraphQueryResult, format: string): Promise<string> { const { nodes, relationships } = results; switch (format) { case "json": return JSON.stringify({ nodes, relationships }, null, 2); case "mermaid": return exportToMermaid(nodes, relationships); case "dot": return exportToDot(nodes, relationships); case "cypher": return exportToCypher(nodes, relationships); default: throw new Error(`Unsupported export format: ${format}`); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/0xjcf/MCP_CodeAnalysis'

If you have feedback or need assistance with the MCP directory API, please join our Discord server