{"specVersion":"1.0","host":{"displayName":"GraphCanon","identifier":"did:web:www.graphcanon.com"},"entries":[{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:server:graphcanon","displayName":"GraphCanon MCP","type":"application/mcp-server+json","url":"https://www.graphcanon.com/api/mcp","description":"Streamable HTTP MCP server over the GraphCanon knowledge graph: search, graph traversal, alternatives, compare, trust, and constraint resolution.","capabilities":["search_tools","get_tool","list_categories","get_alternatives","get_graph","get_trust_report","compare_tools","resolve_by_constraints"],"representativeQueries":["what are open-source alternatives to langchain","compare qdrant and pgvector for self-hosted rag","walk the graph from langchain to find integrations and neighbours","find python agent frameworks with mcp server support","get trust report for a github ai tool"],"tags":["mcp","graph","comparison","constraints"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:registry:search","displayName":"GraphCanon tool search","type":"application/ai-registry+json","url":"https://www.graphcanon.com/api/graphcanon/search","description":"Full-text search over published AI-dev tools (Postgres websearch syntax).","representativeQueries":["vector database for production rag","langchain alternatives","local llm inference runtime","llm observability tracing tools"],"tags":["registry","search","full-text"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:registry:resolve","displayName":"GraphCanon constraint resolver","type":"application/ai-registry+json","url":"https://www.graphcanon.com/api/graphcanon/resolve","description":"Satisfiability filter over sourced capability facts (license, deploy mode, docker, MCP, stars).","representativeQueries":["self-hosted vector database with docker","apache-2 licensed rag framework","tools with mcp server and more than 1000 stars"],"tags":["registry","constraints","capabilities"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:api:graph","displayName":"GraphCanon graph API","type":"application/json","url":"https://www.graphcanon.com/api/graphcanon/graph","description":"Typed tool neighbourhood: explicit edges plus shared-category neighbours.","representativeQueries":["show graph edges for langchain","what integrates with llamaindex"],"tags":["graph","relationships"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:api:openapi","displayName":"GraphCanon OpenAPI","type":"application/openapi+json","url":"https://www.graphcanon.com/api/graphcanon/openapi.json","description":"OpenAPI 3.1 schema for the read-only JSON API.","tags":["openapi","rest"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:corpus:llms-txt","displayName":"GraphCanon llms.txt","type":"text/plain","url":"https://www.graphcanon.com/llms.txt","description":"Link-first LLM index pointing at markdown twins for comparisons, categories, and tools.","tags":["llms-txt","markdown-twin"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:corpus:llms-full","displayName":"GraphCanon full corpus","type":"text/plain","url":"https://www.graphcanon.com/llms-full.txt","description":"Concatenated markdown for every published tool in one fetch.","tags":["corpus","markdown"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:catalog:comparisons","displayName":"AI tool comparisons","type":"text/html","url":"https://www.graphcanon.com/compare","description":"Curated head-to-head comparison hub plus graph-linked alternative pairs.","representativeQueries":["langchain vs llamaindex","qdrant vs chroma","langgraph vs crewai","best vector database comparison"],"tags":["comparison","seo"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:catalog:alternatives","displayName":"Tool alternatives pages","type":"text/html","url":"https://www.graphcanon.com/search","description":"Per-tool alternatives at /tools/{slug}/alternatives with typed graph edges.","representativeQueries":["langchain alternatives","open source crewai alternatives"],"tags":["alternatives"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:catalog:trending","displayName":"Trending tools","type":"text/html","url":"https://www.graphcanon.com/trending","description":"30-day GitHub star velocity from append-only metric history.","representativeQueries":["trending ai dev tools on github","fastest growing llm frameworks"],"tags":["trending","velocity"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:docs:index","displayName":"GraphCanon documentation","type":"text/html","url":"https://www.graphcanon.com/docs","description":"Searchable guides for MCP setup, REST API, trust methodology, and discovery indexes.","representativeQueries":["how to connect graphcanon mcp in cursor","graphcanon api documentation"],"tags":["docs","dx"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:docs:mcp","displayName":"MCP server setup","type":"text/markdown","url":"https://www.graphcanon.com/docs/mcp.md","description":"Per-client MCP configuration (Cursor, Claude Code, VS Code, Windsurf) and tool reference.","representativeQueries":["graphcanon mcp server url","add graphcanon to cursor mcp"],"tags":["mcp","docs","setup"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:catalog:trust-methodology","displayName":"Trust methodology","type":"text/html","url":"https://www.graphcanon.com/trust-methodology","description":"How maintenance, provenance, and security signals are computed and what we never claim.","representativeQueries":["how does graphcanon score tool trust","is this ai tool maintained"],"tags":["trust","methodology"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:langchain-ai-langchain-vs-run-llama-llama-index","displayName":"LangChain vs LlamaIndex","type":"text/markdown","url":"https://www.graphcanon.com/compare/langchain-ai-langchain-vs-run-llama-llama-index.md","description":"Neutral head-to-head comparison: LangChain vs LlamaIndex.","representativeQueries":["langchain vs llamaindex","langchain vs llamaindex comparison"],"tags":["comparison","LLM frameworks"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:crewaiinc-crewai-vs-langchain-ai-langgraph","displayName":"LangGraph vs CrewAI","type":"text/markdown","url":"https://www.graphcanon.com/compare/crewaiinc-crewai-vs-langchain-ai-langgraph.md","description":"Neutral head-to-head comparison: LangGraph vs CrewAI.","representativeQueries":["langgraph vs crewai","langgraph vs crewai comparison"],"tags":["comparison","Agent runtimes"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:chroma-core-chroma-vs-qdrant-qdrant","displayName":"Qdrant vs Chroma","type":"text/markdown","url":"https://www.graphcanon.com/compare/chroma-core-chroma-vs-qdrant-qdrant.md","description":"Neutral head-to-head comparison: Qdrant vs Chroma.","representativeQueries":["qdrant vs chroma","qdrant vs chroma comparison"],"tags":["comparison","Vector databases"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:qdrant-qdrant-vs-weaviate-weaviate","displayName":"Qdrant vs Weaviate","type":"text/markdown","url":"https://www.graphcanon.com/compare/qdrant-qdrant-vs-weaviate-weaviate.md","description":"Neutral head-to-head comparison: Qdrant vs Weaviate.","representativeQueries":["qdrant vs weaviate","qdrant vs weaviate comparison"],"tags":["comparison","Vector databases"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:pgvector-pgvector-vs-qdrant-qdrant","displayName":"Qdrant vs pgvector","type":"text/markdown","url":"https://www.graphcanon.com/compare/pgvector-pgvector-vs-qdrant-qdrant.md","description":"Neutral head-to-head comparison: Qdrant vs pgvector.","representativeQueries":["qdrant vs pgvector","qdrant vs pgvector comparison"],"tags":["comparison","Vector databases"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:deepset-ai-haystack-vs-langchain-ai-langchain","displayName":"Haystack vs LangChain","type":"text/markdown","url":"https://www.graphcanon.com/compare/deepset-ai-haystack-vs-langchain-ai-langchain.md","description":"Neutral head-to-head comparison: Haystack vs LangChain.","representativeQueries":["haystack vs langchain","haystack vs langchain comparison"],"tags":["comparison","RAG orchestration"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:ggml-org-llama-cpp-vs-ollama-ollama","displayName":"Ollama vs llama.cpp","type":"text/markdown","url":"https://www.graphcanon.com/compare/ggml-org-llama-cpp-vs-ollama-ollama.md","description":"Neutral head-to-head comparison: Ollama vs llama.cpp.","representativeQueries":["ollama vs llama.cpp","ollama vs llama.cpp comparison"],"tags":["comparison","Local inference"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:comparison:langchain-ai-langchain-vs-langchain-ai-langgraph","displayName":"LangChain vs LangGraph","type":"text/markdown","url":"https://www.graphcanon.com/compare/langchain-ai-langchain-vs-langchain-ai-langgraph.md","description":"Neutral head-to-head comparison: LangChain vs LangGraph.","representativeQueries":["langchain vs langgraph","langchain vs langgraph comparison"],"tags":["comparison","LangChain ecosystem"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:stack:rag-pipeline","displayName":"The RAG stack","type":"text/markdown","url":"https://www.graphcanon.com/stacks/rag-pipeline.md","description":"Retrieval-augmented generation grounds an LLM in your own data. A production RAG pipeline is four layers: ingestion, a vector store, orchestration, and evaluation.","tags":["stack","workflow"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:stack:autonomous-agent","displayName":"The AI agent stack","type":"text/markdown","url":"https://www.graphcanon.com/stacks/autonomous-agent.md","description":"Autonomous agents plan, call tools, and act over multiple steps. The stack pairs an agent runtime with model tooling, integration glue, and tracing.","tags":["stack","workflow"]},{"trustManifest":{"identity":"https://www.graphcanon.com","identityType":"https"},"identifier":"urn:air:www.graphcanon.com:stack:local-llm","displayName":"The local / self-hosted LLM stack","type":"text/markdown","url":"https://www.graphcanon.com/stacks/local-llm.md","description":"Running open models yourself for privacy, cost, or control. The stack is a serving runtime, optional fine-tuning, and supporting tooling.","tags":["stack","workflow"]}],"collections":[{"identifier":"urn:air:www.graphcanon.com:collection:categories","displayName":"Canonical categories","type":"text/markdown","url":"https://www.graphcanon.com/categories.md","description":"Taxonomy index for AI-dev tool categories."},{"identifier":"urn:air:www.graphcanon.com:collection:stacks","displayName":"Curated stacks","type":"text/markdown","url":"https://www.graphcanon.com/stacks.md","description":"Editorial workflows: RAG pipeline, autonomous agent, local LLM."},{"identifier":"urn:air:www.graphcanon.com:category:llm-frameworks","displayName":"LLM Frameworks","type":"text/markdown","url":"https://www.graphcanon.com/categories/llm-frameworks.md","description":"Frameworks and orchestration libraries for building LLM applications - prompting, chaining, RAG, and agent scaffolding (LangChain, LlamaIndex, Haystack)."},{"identifier":"urn:air:www.graphcanon.com:category:ai-agents","displayName":"AI Agents","type":"text/markdown","url":"https://www.graphcanon.com/categories/ai-agents.md","description":"Autonomous and multi-agent systems: agent runtimes, tool use, planning, and orchestration of long-running tasks (LangGraph, CrewAI, AutoGen)."},{"identifier":"urn:air:www.graphcanon.com:category:vector-databases","displayName":"Vector Databases","type":"text/markdown","url":"https://www.graphcanon.com/categories/vector-databases.md","description":"Vector stores and embedding databases for similarity search and retrieval - the memory/retrieval backend of a RAG stack (Qdrant, Chroma, pgvector, Milvus)."},{"identifier":"urn:air:www.graphcanon.com:category:data-retrieval","displayName":"Data & Retrieval","type":"text/markdown","url":"https://www.graphcanon.com/categories/data-retrieval.md","description":"Ingestion, chunking, parsing, scraping, and retrieval pipelines that feed context into LLMs (Unstructured, Firecrawl, document loaders)."},{"identifier":"urn:air:www.graphcanon.com:category:evaluation-observability","displayName":"Evaluation & Observability","type":"text/markdown","url":"https://www.graphcanon.com/categories/evaluation-observability.md","description":"Tracing, evaluation, monitoring, and observability for LLM and agent systems - measuring quality, cost, and latency (Langfuse, Phoenix, OpenLIT)."},{"identifier":"urn:air:www.graphcanon.com:category:inference-serving","displayName":"Inference & Serving","type":"text/markdown","url":"https://www.graphcanon.com/categories/inference-serving.md","description":"Model inference, serving, and local runtimes - deploying and running models efficiently (Ollama, vLLM, llama.cpp, TGI)."},{"identifier":"urn:air:www.graphcanon.com:category:model-training","displayName":"Model Training","type":"text/markdown","url":"https://www.graphcanon.com/categories/model-training.md","description":"Training, fine-tuning, and post-training toolkits - from full pretraining to LoRA and RLHF (Unsloth, TRL, Axolotl)."},{"identifier":"urn:air:www.graphcanon.com:category:developer-tools","displayName":"Developer Tools","type":"text/markdown","url":"https://www.graphcanon.com/categories/developer-tools.md","description":"SDKs, gateways, CLIs, and glue that connect AI systems together - the plumbing of an AI stack (LiteLLM, MCP servers, SDKs)."},{"identifier":"urn:air:www.graphcanon.com:category:speech-audio","displayName":"Speech & Audio","type":"text/markdown","url":"https://www.graphcanon.com/categories/speech-audio.md","description":"Speech-to-text, text-to-speech, and audio models and pipelines (Whisper, TTS engines, ASR)."},{"identifier":"urn:air:www.graphcanon.com:category:computer-vision","displayName":"Computer Vision","type":"text/markdown","url":"https://www.graphcanon.com/categories/computer-vision.md","description":"Image and video models and pipelines: detection, segmentation, OCR, and generation (Ultralytics, diffusion models, OCR)."}],"graphcanon":{"updatedAt":"2026-07-08T11:26:52.185Z","license":"https://creativecommons.org/licenses/by/4.0/","tagline":"The knowledge graph for AI development","conventions":{"markdown_twin":"Append `.md` to any page URL, or send `Accept: text/markdown`.","documentation":"/docs","mcp_setup":"/docs/mcp.md","trust_reports":"/tools/{slug}/trust and /api/graphcanon/tools/{slug}/trust"}}}