|
|
<!DOCTYPE html> |
|
|
<html class="no-js" lang="en"> <head><meta charset="utf-8"/><meta content="width=device-width,initial-scale=1" name="viewport"/><meta content="Quick setup guide to get KGraph-MCP running in minutes" name="description"/><meta content="KGraph-MCP Development Team" name="author"/><link href="https://basalganglia.github.io/kgraph-mcp-hackathon/getting-started/" rel="canonical"/><link href=".." rel="prev"/><link href="../architecture/" rel="next"/><link href="../assets/favicon.png" rel="icon"/><meta content="mkdocs-1.6.1, mkdocs-material-9.6.14" name="generator"/><title>Getting Started with KGraph-MCP - KGraph-MCP - The Self-Orchestrating Tool Network</title><link href="../assets/stylesheets/main.342714a4.min.css" rel="stylesheet"/><link href="../assets/stylesheets/palette.06af60db.min.css" rel="stylesheet"/><link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel="stylesheet"/><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link href="../assets/_mkdocstrings.css" rel="stylesheet"/><link href="../overrides/stylesheets/extra.css" rel="stylesheet"/><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script><script id="__analytics">function __md_analytics(){function e(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],e("js",new Date),e("config",""),document.addEventListener("DOMContentLoaded",(function(){document.forms.search&&document.forms.search.query.addEventListener("blur",(function(){this.value&&e("event","search",{search_term:this.value})}));document$.subscribe((function(){var t=document.forms.feedback;if(void 0!==t)for(var a of t.querySelectorAll("[type=submit]"))a.addEventListener("click",(function(a){a.preventDefault();var n=document.location.pathname,d=this.getAttribute("data-md-value");e("event","feedback",{page:n,data:d}),t.firstElementChild.disabled=!0;var r=t.querySelector(".md-feedback__note [data-md-value='"+d+"']");r&&(r.hidden=!1)})),t.hidden=!1})),location$.subscribe((function(t){e("config","",{page_path:t.pathname})}))}));var t=document.createElement("script");t.async=!0,t.src="https://www.googletagmanager.com/gtag/js?id=",document.getElementById("__analytics").insertAdjacentElement("afterEnd",t)}</script><script>if("undefined"!=typeof __md_analytics){var consent=__md_get("__consent");consent&&consent.analytics&&__md_analytics()}</script> <link href="../assets/stylesheets/glightbox.min.css" rel="stylesheet"><style> |
|
|
html.glightbox-open { overflow: initial; height: 100%; } |
|
|
.gslide-title { margin-top: 0px; user-select: text; } |
|
|
.gslide-desc { color: #666; user-select: text; } |
|
|
.gslide-image img { background: white; } |
|
|
.gscrollbar-fixer { padding-right: 15px; } |
|
|
.gdesc-inner { font-size: 0.75rem; } |
|
|
body[data-md-color-scheme="slate"] .gdesc-inner { background: var(--md-default-bg-color);} |
|
|
body[data-md-color-scheme="slate"] .gslide-title { color: var(--md-default-fg-color);} |
|
|
body[data-md-color-scheme="slate"] .gslide-desc { color: var(--md-default-fg-color);}</style> <script src="../assets/javascripts/glightbox.min.js"></script></link></head> <body data-md-color-accent="indigo" data-md-color-primary="indigo" data-md-color-scheme="default" dir="ltr"> <input autocomplete="off" class="md-toggle" data-md-toggle="drawer" id="__drawer" type="checkbox"/> <input autocomplete="off" class="md-toggle" data-md-toggle="search" id="__search" type="checkbox"/> <label class="md-overlay" for="__drawer"></label> <div data-md-component="skip"> <a class="md-skip" href="#getting-started-with-kgraph-mcp"> Skip to content </a> </div> <div data-md-component="announce"> </div> <div data-md-color-scheme="default" data-md-component="outdated" hidden=""> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component="header"> <nav aria-label="Header" class="md-header__inner md-grid"> <a aria-label="KGraph-MCP - The Self-Orchestrating Tool Network" class="md-header__button md-logo" data-md-component="logo" href=".." title="KGraph-MCP - The Self-Orchestrating Tool Network"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 17c-.14 0-.26 0-.39.04L17.5 13.8c.45-.45.75-1.09.75-1.8a2.5 2.5 0 0 0-2.5-2.5c-.14 0-.25 0-.4.04L13.74 6.3c.47-.46.76-1.09.76-1.8a2.5 2.5 0 0 0-5 0c0 .7.29 1.34.76 1.79L8.65 9.54c-.15-.04-.26-.04-.4-.04a2.5 2.5 0 0 0-2.5 2.5c0 .71.29 1.34.75 1.79l-1.61 3.25C4.76 17 4.64 17 4.5 17a2.5 2.5 0 0 0 0 5A2.5 2.5 0 0 0 7 19.5c0-.7-.29-1.34-.76-1.79l1.62-3.25c.14.04.26.04.39.04s.25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0A2.5 2.5 0 0 0 12 17c-.13 0-.26 0-.39.04L10 13.8c.45-.45.75-1.09.75-1.8 0-.7-.29-1.33-.75-1.79l1.61-3.25c.13.04.26.04.39.04s.26 0 .39-.04L14 10.21a2.5 2.5 0 0 0 1.75 4.29c.13 0 .25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0 2.5 2.5 0 0 0-2.5-2.5m-15 3.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m8.5-1c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1M7.25 12c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1M11 4.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m3.75 7.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m4.75 8.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"></path></svg> </a> <label class="md-header__button md-icon" for="__drawer"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class="md-header__title" data-md-component="header-title"> <div class="md-header__ellipsis"> <div class="md-header__topic"> <span class="md-ellipsis"> KGraph-MCP - The Self-Orchestrating Tool Network </span> </div> <div class="md-header__topic" data-md-component="header-topic"> <span class="md-ellipsis"> Getting Started with KGraph-MCP </span> </div> </div> </div> <form class="md-header__option" data-md-component="palette"> <input aria-label="Switch to light mode" class="md-option" data-md-color-accent="indigo" data-md-color-media="(prefers-color-scheme)" data-md-color-primary="indigo" data-md-color-scheme="default" id="__palette_0" name="__palette" type="radio"/> <label class="md-header__button md-icon" for="__palette_1" hidden="" title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"></path></svg> </label> <input aria-label="Switch to dark mode" class="md-option" data-md-color-accent="purple" data-md-color-media="(prefers-color-scheme: light)" data-md-color-primary="deep-purple" data-md-color-scheme="default" id="__palette_1" name="__palette" type="radio"/> <label class="md-header__button md-icon" for="__palette_2" hidden="" title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to system preference" class="md-option" data-md-color-accent="purple" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-primary="deep-purple" data-md-color-scheme="slate" id="__palette_2" name="__palette" type="radio"/> <label class="md-header__button md-icon" for="__palette_0" hidden="" title="Switch to system preference"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for="__search"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class="md-search" data-md-component="search" role="dialog"> <label class="md-search__overlay" for="__search"></label> <div class="md-search__inner" role="search"> <form class="md-search__form" name="search"> <input aria-label="Search" autocapitalize="off" autocomplete="off" autocorrect="off" class="md-search__input" data-md-component="search-query" name="query" placeholder="Search" required="" spellcheck="false" type="text"/> <label class="md-search__icon md-icon" for="__search"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label="Search" class="md-search__options"> <a aria-label="Share" class="md-search__icon md-icon" data-clipboard="" data-clipboard-text="" data-md-component="search-share" href="javascript:void(0)" tabindex="-1" title="Share"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9a3 3 0 0 0-3 3 3 3 0 0 0 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.15c-.05.21-.08.43-.08.66 0 1.61 1.31 2.91 2.92 2.91s2.92-1.3 2.92-2.91A2.92 2.92 0 0 0 18 16.08"></path></svg> </a> <button aria-label="Clear" class="md-search__icon md-icon" tabindex="-1" title="Clear" type="reset"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class="md-search__suggest" data-md-component="search-suggest"></div> </form> <div class="md-search__output"> <div class="md-search__scrollwrap" data-md-scrollfix="" tabindex="0"> <div class="md-search-result" data-md-component="search-result"> <div class="md-search-result__meta"> Initializing search </div> <ol class="md-search-result__list" role="presentation"></ol> </div> </div> </div> </div> </div> <div class="md-header__source"> <a class="md-source" data-md-component="source" href="https://github.com/BasalGanglia/kgraph-mcp-hackathon" title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 496 512" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class="md-source__repository"> BasalGanglia/kgraph-mcp-hackathon </div> </a> </div> </nav> <nav aria-label="Tabs" class="md-tabs" data-md-component="tabs"> <div class="md-grid"> <ul class="md-tabs__list"> <li class="md-tabs__item md-tabs__item--active"> <a class="md-tabs__link" href=".."> Home </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../user-guide/installation/"> Documentation </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../architecture/overview/"> Architecture </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../mvp/mvp1/"> Project Management </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../progress/"> Progress Reports </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../workflow/development/"> Tools & Workflow </a> </li> <li class="md-tabs__item"> <a class="md-tabs__link" href="../resources/glossary/"> Resources </a> </li> </ul> </div> </nav> </header> <div class="md-container" data-md-component="container"> <main class="md-main" data-md-component="main"> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav aria-label="Navigation" class="md-nav md-nav--primary md-nav--lifted" data-md-level="0"> <label class="md-nav__title" for="__drawer"> <a aria-label="KGraph-MCP - The Self-Orchestrating Tool Network" class="md-nav__button md-logo" data-md-component="logo" href=".." title="KGraph-MCP - The Self-Orchestrating Tool Network"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 17c-.14 0-.26 0-.39.04L17.5 13.8c.45-.45.75-1.09.75-1.8a2.5 2.5 0 0 0-2.5-2.5c-.14 0-.25 0-.4.04L13.74 6.3c.47-.46.76-1.09.76-1.8a2.5 2.5 0 0 0-5 0c0 .7.29 1.34.76 1.79L8.65 9.54c-.15-.04-.26-.04-.4-.04a2.5 2.5 0 0 0-2.5 2.5c0 .71.29 1.34.75 1.79l-1.61 3.25C4.76 17 4.64 17 4.5 17a2.5 2.5 0 0 0 0 5A2.5 2.5 0 0 0 7 19.5c0-.7-.29-1.34-.76-1.79l1.62-3.25c.14.04.26.04.39.04s.25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0A2.5 2.5 0 0 0 12 17c-.13 0-.26 0-.39.04L10 13.8c.45-.45.75-1.09.75-1.8 0-.7-.29-1.33-.75-1.79l1.61-3.25c.13.04.26.04.39.04s.26 0 .39-.04L14 10.21a2.5 2.5 0 0 0 1.75 4.29c.13 0 .25 0 .38-.04l1.63 3.25c-.47.45-.76 1.09-.76 1.79a2.5 2.5 0 0 0 5 0 2.5 2.5 0 0 0-2.5-2.5m-15 3.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1m8.5-1c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1M7.25 12c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1M11 4.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m3.75 7.5c0-.55.45-1 1-1s1 .45 1 1-.45 1-1 1-1-.45-1-1m4.75 8.5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1"></path></svg> </a> KGraph-MCP - The Self-Orchestrating Tool Network </label> <div class="md-nav__source"> <a class="md-source" data-md-component="source" href="https://github.com/BasalGanglia/kgraph-mcp-hackathon" title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 496 512" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class="md-source__repository"> BasalGanglia/kgraph-mcp-hackathon </div> </a> </div> <ul class="md-nav__list" data-md-scrollfix=""> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input checked="" class="md-nav__toggle md-toggle" id="__nav_1" type="checkbox"/> <div class="md-nav__link md-nav__container"> <a class="md-nav__link" href=".."> <span class="md-ellipsis"> Home </span> </a> <label class="md-nav__link" for="__nav_1" id="__nav_1_label" tabindex=""> <span class="md-nav__icon md-icon"></span> </label> </div> <nav aria-expanded="true" aria-labelledby="__nav_1_label" class="md-nav" data-md-level="1"> <label class="md-nav__title" for="__nav_1"> <span class="md-nav__icon md-icon"></span> Home </label> <ul class="md-nav__list" data-md-scrollfix=""> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" id="__toc" type="checkbox"/> <label class="md-nav__link md-nav__link--active" for="__toc"> <span class="md-ellipsis"> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <a class="md-nav__link md-nav__link--active" href="./"> <span class="md-ellipsis"> Getting Started </span> </a> <nav aria-label="On this page" class="md-nav md-nav--secondary"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> On this page </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix=""> <li class="md-nav__item"> <a class="md-nav__link" href="#quick-start-journey"> <span class="md-ellipsis"> π Quick Start Journey </span> </a> <nav aria-label="π Quick Start Journey" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#user-journey-overview"> <span class="md-ellipsis"> User Journey Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#setup-process-flow"> <span class="md-ellipsis"> Setup Process Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#quick-setup-recommended"> <span class="md-ellipsis"> Quick Setup (Recommended) </span> </a> <nav aria-label="Quick Setup (Recommended)" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#1-clone-the-repository"> <span class="md-ellipsis"> 1. Clone the Repository </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-run-automated-setup"> <span class="md-ellipsis"> 2. Run Automated Setup </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#automated-setup-process"> <span class="md-ellipsis"> Automated Setup Process </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-activate-environment-start-application"> <span class="md-ellipsis"> 3. Activate Environment & Start Application </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#application-startup-flow"> <span class="md-ellipsis"> Application Startup Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#manual-setup-alternative"> <span class="md-ellipsis"> Manual Setup (Alternative) </span> </a> <nav aria-label="Manual Setup (Alternative)" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#manual-setup-process"> <span class="md-ellipsis"> Manual Setup Process </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#1-python-environment"> <span class="md-ellipsis"> 1. Python Environment </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-dependencies"> <span class="md-ellipsis"> 2. Dependencies </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-verify-installation"> <span class="md-ellipsis"> 3. Verify Installation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#development-workflow"> <span class="md-ellipsis"> Development Workflow </span> </a> <nav aria-label="Development Workflow" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#essential-commands-overview"> <span class="md-ellipsis"> Essential Commands Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#essential-commands"> <span class="md-ellipsis"> Essential Commands </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#development-command-flow"> <span class="md-ellipsis"> Development Command Flow </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#project-structure-overview"> <span class="md-ellipsis"> Project Structure Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#project-structure-visualization"> <span class="md-ellipsis"> Project Structure Visualization </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#exploring-the-platform"> <span class="md-ellipsis"> Exploring the Platform </span> </a> <nav aria-label="Exploring the Platform" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#user-exploration-journey"> <span class="md-ellipsis"> User Exploration Journey </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#1-web-interface"> <span class="md-ellipsis"> 1. Web Interface </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#web-interface-architecture"> <span class="md-ellipsis"> Web Interface Architecture </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-api-exploration"> <span class="md-ellipsis"> 2. API Exploration </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#api-exploration-flow"> <span class="md-ellipsis"> API Exploration Flow </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-task-management-system"> <span class="md-ellipsis"> 3. Task Management System </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#task-management-flow"> <span class="md-ellipsis"> Task Management Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#next-steps-learning-path"> <span class="md-ellipsis"> π― Next Steps & Learning Path </span> </a> <nav aria-label="π― Next Steps & Learning Path" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#learning-journey"> <span class="md-ellipsis"> Learning Journey </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#recommended-learning-path"> <span class="md-ellipsis"> Recommended Learning Path </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#immediate-next-steps"> <span class="md-ellipsis"> Immediate Next Steps </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#learning-resources"> <span class="md-ellipsis"> Learning Resources </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#resource-navigation-map"> <span class="md-ellipsis"> Resource Navigation Map </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#getting-help"> <span class="md-ellipsis"> π Getting Help </span> </a> <nav aria-label="π Getting Help" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#support-flow"> <span class="md-ellipsis"> Support Flow </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="../architecture/"> <span class="md-ellipsis"> Architecture </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="../features/"> <span class="md-ellipsis"> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../user-guide/installation/"> <span class="md-ellipsis"> Documentation </span> <span class="md-nav__icon md-icon"></span> </a> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../architecture/overview/"> <span class="md-ellipsis"> Architecture </span> <span class="md-nav__icon md-icon"></span> </a> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../mvp/mvp1/"> <span class="md-ellipsis"> Project Management </span> <span class="md-nav__icon md-icon"></span> </a> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../progress/"> <span class="md-ellipsis"> Progress Reports </span> <span class="md-nav__icon md-icon"></span> </a> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../workflow/development/"> <span class="md-ellipsis"> Tools & Workflow </span> <span class="md-nav__icon md-icon"></span> </a> </li> <li class="md-nav__item md-nav__item--pruned md-nav__item--nested"> <a class="md-nav__link" href="../resources/glossary/"> <span class="md-ellipsis"> Resources </span> <span class="md-nav__icon md-icon"></span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc"> <div class="md-sidebar__scrollwrap"> <div class="md-sidebar__inner"> <nav aria-label="On this page" class="md-nav md-nav--secondary"> <label class="md-nav__title" for="__toc"> <span class="md-nav__icon md-icon"></span> On this page </label> <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix=""> <li class="md-nav__item"> <a class="md-nav__link" href="#quick-start-journey"> <span class="md-ellipsis"> π Quick Start Journey </span> </a> <nav aria-label="π Quick Start Journey" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#user-journey-overview"> <span class="md-ellipsis"> User Journey Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#setup-process-flow"> <span class="md-ellipsis"> Setup Process Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#quick-setup-recommended"> <span class="md-ellipsis"> Quick Setup (Recommended) </span> </a> <nav aria-label="Quick Setup (Recommended)" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#1-clone-the-repository"> <span class="md-ellipsis"> 1. Clone the Repository </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-run-automated-setup"> <span class="md-ellipsis"> 2. Run Automated Setup </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#automated-setup-process"> <span class="md-ellipsis"> Automated Setup Process </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-activate-environment-start-application"> <span class="md-ellipsis"> 3. Activate Environment & Start Application </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#application-startup-flow"> <span class="md-ellipsis"> Application Startup Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#manual-setup-alternative"> <span class="md-ellipsis"> Manual Setup (Alternative) </span> </a> <nav aria-label="Manual Setup (Alternative)" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#manual-setup-process"> <span class="md-ellipsis"> Manual Setup Process </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#1-python-environment"> <span class="md-ellipsis"> 1. Python Environment </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-dependencies"> <span class="md-ellipsis"> 2. Dependencies </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-verify-installation"> <span class="md-ellipsis"> 3. Verify Installation </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#development-workflow"> <span class="md-ellipsis"> Development Workflow </span> </a> <nav aria-label="Development Workflow" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#essential-commands-overview"> <span class="md-ellipsis"> Essential Commands Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#essential-commands"> <span class="md-ellipsis"> Essential Commands </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#development-command-flow"> <span class="md-ellipsis"> Development Command Flow </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#project-structure-overview"> <span class="md-ellipsis"> Project Structure Overview </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#project-structure-visualization"> <span class="md-ellipsis"> Project Structure Visualization </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#exploring-the-platform"> <span class="md-ellipsis"> Exploring the Platform </span> </a> <nav aria-label="Exploring the Platform" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#user-exploration-journey"> <span class="md-ellipsis"> User Exploration Journey </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#1-web-interface"> <span class="md-ellipsis"> 1. Web Interface </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#web-interface-architecture"> <span class="md-ellipsis"> Web Interface Architecture </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#2-api-exploration"> <span class="md-ellipsis"> 2. API Exploration </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#api-exploration-flow"> <span class="md-ellipsis"> API Exploration Flow </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#3-task-management-system"> <span class="md-ellipsis"> 3. Task Management System </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#task-management-flow"> <span class="md-ellipsis"> Task Management Flow </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#next-steps-learning-path"> <span class="md-ellipsis"> π― Next Steps & Learning Path </span> </a> <nav aria-label="π― Next Steps & Learning Path" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#learning-journey"> <span class="md-ellipsis"> Learning Journey </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#recommended-learning-path"> <span class="md-ellipsis"> Recommended Learning Path </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#immediate-next-steps"> <span class="md-ellipsis"> Immediate Next Steps </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#learning-resources"> <span class="md-ellipsis"> Learning Resources </span> </a> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#resource-navigation-map"> <span class="md-ellipsis"> Resource Navigation Map </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item"> <a class="md-nav__link" href="#getting-help"> <span class="md-ellipsis"> π Getting Help </span> </a> <nav aria-label="π Getting Help" class="md-nav"> <ul class="md-nav__list"> <li class="md-nav__item"> <a class="md-nav__link" href="#support-flow"> <span class="md-ellipsis"> Support Flow </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-content" data-md-component="content"> <article class="md-content__inner md-typeset"> <a class="md-content__button md-icon" href="https://github.com/BasalGanglia/kgraph-mcp-hackathon/edit/main/docs/getting-started.md" title="Edit this page"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4zm10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1z"></path></svg> </a> <a class="md-content__button md-icon" href="https://github.com/BasalGanglia/kgraph-mcp-hackathon/raw/main/docs/getting-started.md" title="View source of this page"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.2 8.2 0 0 1-1.23-2"></path></svg> </a> <h1 id="getting-started-with-kgraph-mcp">Getting Started with KGraph-MCP<a class="headerlink" href="#getting-started-with-kgraph-mcp" title="Permanent link">ΒΆ</a></h1> <p>Welcome to KGraph-MCP! This guide will help you set up the development environment and start exploring our intelligent MCP orchestration platform.</p> <div class="admonition info"> <p class="admonition-title">Prerequisites</p> <ul> <li>Python 3.11.8 or higher</li> <li>Git for version control</li> <li>4GB+ RAM for development</li> <li>Internet connection for package downloads</li> </ul> </div> <h2 id="quick-start-journey">π Quick Start Journey<a class="headerlink" href="#quick-start-journey" title="Permanent link">ΒΆ</a></h2> <h3 id="user-journey-overview"><strong>User Journey Overview</strong><a class="headerlink" href="#user-journey-overview" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>journey |
|
|
title Getting Started with KGraph-MCP |
|
|
section Setup |
|
|
Clone Repository : 5: Developer |
|
|
Run Automated Setup : 5: Developer |
|
|
Verify Installation : 4: Developer |
|
|
section First Steps |
|
|
Explore Web Interface : 5: Developer |
|
|
Check API Documentation : 4: Developer |
|
|
View Available Tasks : 5: Developer |
|
|
section Development |
|
|
Get First Task : 5: Developer |
|
|
Start Development : 5: Developer |
|
|
Run Quality Checks : 4: Developer |
|
|
section Exploration |
|
|
Try MCP Integration : 3: Developer |
|
|
Explore Knowledge Graph : 3: Developer |
|
|
Test AI Agents : 3: Developer</code></pre> <h3 id="setup-process-flow"><strong>Setup Process Flow</strong><a class="headerlink" href="#setup-process-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>flowchart TD |
|
|
Start([π Welcome to KGraph-MCP]) --> Check{Prerequisites Met?} |
|
|
Check -->|β
Yes| Clone[π₯ Clone Repository] |
|
|
Check -->|β No| Install[π§ Install Prerequisites] |
|
|
|
|
|
Install --> Pyenv[Install Python 3.11.8] |
|
|
Pyenv --> Git[Install Git] |
|
|
Git --> Clone |
|
|
|
|
|
Clone --> Setup{Choose Setup Method} |
|
|
Setup -->|π Automated| AutoSetup[just setup] |
|
|
Setup -->|π§ Manual| ManualSetup[Manual Steps] |
|
|
|
|
|
AutoSetup --> Python[π Install Python 3.11.8] |
|
|
Python --> VEnv[π¦ Create Virtual Environment] |
|
|
VEnv --> Deps[β¬οΈ Install Dependencies] |
|
|
Deps --> TaskInit[π Initialize Tasks] |
|
|
TaskInit --> Success[β
Setup Complete] |
|
|
|
|
|
ManualSetup --> UVInstall[uv python install 3.11.8] |
|
|
UVInstall --> VEnvManual[uv venv .venv] |
|
|
VEnvManual --> Activate[source .venv/bin/activate] |
|
|
Activate --> SyncDeps[uv pip sync requirements.lock] |
|
|
SyncDeps --> Success |
|
|
|
|
|
Success --> Verify[π Verify Installation] |
|
|
Verify --> Health{Health Checks Pass?} |
|
|
|
|
|
Health -->|β
Pass| Ready[π Ready to Develop!] |
|
|
Health -->|β Fail| Debug[π Debug Issues] |
|
|
Debug --> Verify |
|
|
|
|
|
Ready --> FirstSteps[π First Steps] |
|
|
|
|
|
style Start fill:#e3f2fd |
|
|
style AutoSetup fill:#e8f5e8 |
|
|
style Success fill:#c8e6c9 |
|
|
style Ready fill:#c8e6c9 |
|
|
style Debug fill:#ffebee</code></pre> <h2 id="quick-setup-recommended">Quick Setup (Recommended)<a class="headerlink" href="#quick-setup-recommended" title="Permanent link">ΒΆ</a></h2> <p>The fastest way to get started is using our automated setup system:</p> <h3 id="1-clone-the-repository">1. Clone the Repository<a class="headerlink" href="#1-clone-the-repository" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-0-1"><a href="#__codelineno-0-1" id="__codelineno-0-1" name="__codelineno-0-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/BasalGanglia/kgraph-mcp-hackathon.git |
|
|
</span><span id="__span-0-2"><a href="#__codelineno-0-2" id="__codelineno-0-2" name="__codelineno-0-2"></a><span class="nb">cd</span><span class="w"> </span>kgraph-mcp-hackathon |
|
|
</span></code></pre></div> <h3 id="2-run-automated-setup">2. Run Automated Setup<a class="headerlink" href="#2-run-automated-setup" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-1-1"><a href="#__codelineno-1-1" id="__codelineno-1-1" name="__codelineno-1-1"></a><span class="c1"># This installs Python 3.11.8, creates venv, installs dependencies, and initializes tasks</span> |
|
|
</span><span id="__span-1-2"><a href="#__codelineno-1-2" id="__codelineno-1-2" name="__codelineno-1-2"></a>just<span class="w"> </span>setup |
|
|
</span></code></pre></div> <h3 id="automated-setup-process"><strong>Automated Setup Process</strong><a class="headerlink" href="#automated-setup-process" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>sequenceDiagram |
|
|
participant User |
|
|
participant Just as Just Command |
|
|
participant UV as UV Package Manager |
|
|
participant Python as Python 3.11.8 |
|
|
participant VEnv as Virtual Environment |
|
|
participant Deps as Dependencies |
|
|
participant Tasks as Task System |
|
|
|
|
|
User->>Just: just setup |
|
|
Just->>UV: Check UV installation |
|
|
UV-->>Just: UV ready |
|
|
|
|
|
Just->>Python: Install Python 3.11.8 |
|
|
Python-->>Just: Python installed |
|
|
|
|
|
Just->>VEnv: Create .venv environment |
|
|
VEnv-->>Just: Environment created |
|
|
|
|
|
Just->>Deps: Install dependencies |
|
|
Note over Deps: 69+ packages installed |
|
|
Deps-->>Just: Dependencies ready |
|
|
|
|
|
Just->>Tasks: Initialize task system |
|
|
Tasks-->>Just: Tasks initialized |
|
|
|
|
|
Just-->>User: β
Setup complete! |
|
|
|
|
|
Note over User,Tasks: Environment ready for development</code></pre> <div class="admonition success"> <p class="admonition-title">One-Command Setup</p> <p>The <code>just setup</code> command handles everything automatically:</p> <ul> <li>β
Installs Python 3.11.8 with <code>uv</code></li> <li>β
Creates virtual environment</li> <li>β
Installs all dependencies (69+ packages)</li> <li>β
Initializes task management system</li> <li>β
Sets up development tools</li> </ul> </div> <h3 id="3-activate-environment-start-application">3. Activate Environment & Start Application<a class="headerlink" href="#3-activate-environment-start-application" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-2-1"><a href="#__codelineno-2-1" id="__codelineno-2-1" name="__codelineno-2-1"></a><span class="c1"># Activate the virtual environment</span> |
|
|
</span><span id="__span-2-2"><a href="#__codelineno-2-2" id="__codelineno-2-2" name="__codelineno-2-2"></a><span class="nb">source</span><span class="w"> </span>.venv/bin/activate |
|
|
</span><span id="__span-2-3"><a href="#__codelineno-2-3" id="__codelineno-2-3" name="__codelineno-2-3"></a> |
|
|
</span><span id="__span-2-4"><a href="#__codelineno-2-4" id="__codelineno-2-4" name="__codelineno-2-4"></a><span class="c1"># Start the development server with hot reload</span> |
|
|
</span><span id="__span-2-5"><a href="#__codelineno-2-5" id="__codelineno-2-5" name="__codelineno-2-5"></a>just<span class="w"> </span>dev |
|
|
</span></code></pre></div> <h3 id="application-startup-flow"><strong>Application Startup Flow</strong><a class="headerlink" href="#application-startup-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>flowchart LR |
|
|
Activate[Activate Virtual Environment] --> DevCommand[just dev] |
|
|
DevCommand --> Parallel{Start Services} |
|
|
|
|
|
Parallel --> Gradio[π¨ Gradio Interface<br/>localhost:7860] |
|
|
Parallel --> API[π FastAPI Server<br/>localhost:8000] |
|
|
Parallel --> Docs[π Documentation<br/>localhost:8001] |
|
|
|
|
|
Gradio --> Ready[π All Services Ready] |
|
|
API --> Ready |
|
|
Docs --> Ready |
|
|
|
|
|
Ready --> Explore[π Start Exploring] |
|
|
|
|
|
style Activate fill:#e3f2fd |
|
|
style Parallel fill:#e8f5e8 |
|
|
style Ready fill:#c8e6c9 |
|
|
style Explore fill:#fff3e0</code></pre> <p>The application will be available at: - <strong>Main App</strong>: <a href="http://localhost:7860">http://localhost:7860</a> (Gradio UI) - <strong>API Docs</strong>: <a href="http://localhost:8000/docs">http://localhost:8000/docs</a> (FastAPI) - <strong>Health Check</strong>: <a href="http://localhost:8000/health">http://localhost:8000/health</a></p> <h2 id="manual-setup-alternative">Manual Setup (Alternative)<a class="headerlink" href="#manual-setup-alternative" title="Permanent link">ΒΆ</a></h2> <p>If you prefer manual control or the automated setup doesn't work:</p> <h3 id="manual-setup-process"><strong>Manual Setup Process</strong><a class="headerlink" href="#manual-setup-process" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>graph TD |
|
|
subgraph "π Python Environment" |
|
|
UVPython[uv python install 3.11.8] |
|
|
CreateVEnv[uv venv .venv --python 3.11.8] |
|
|
ActivateVEnv[source .venv/bin/activate] |
|
|
end |
|
|
|
|
|
subgraph "π¦ Dependencies" |
|
|
LockFile[just lock] |
|
|
InstallDeps[just install] |
|
|
SyncDeps[uv pip sync requirements.lock] |
|
|
end |
|
|
|
|
|
subgraph "β
Verification" |
|
|
LintCheck[just lint-check] |
|
|
FormatCheck[just format-check] |
|
|
TypeCheck[just type-check] |
|
|
TestCheck[just test] |
|
|
end |
|
|
|
|
|
UVPython --> CreateVEnv |
|
|
CreateVEnv --> ActivateVEnv |
|
|
ActivateVEnv --> LockFile |
|
|
|
|
|
LockFile --> InstallDeps |
|
|
InstallDeps --> SyncDeps |
|
|
|
|
|
SyncDeps --> LintCheck |
|
|
LintCheck --> FormatCheck |
|
|
FormatCheck --> TypeCheck |
|
|
TypeCheck --> TestCheck |
|
|
|
|
|
TestCheck --> ManualComplete[β
Manual Setup Complete] |
|
|
|
|
|
style UVPython fill:#e3f2fd |
|
|
style SyncDeps fill:#e8f5e8 |
|
|
style TestCheck fill:#f3e5f5 |
|
|
style ManualComplete fill:#c8e6c9</code></pre> <h3 id="1-python-environment">1. Python Environment<a class="headerlink" href="#1-python-environment" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-3-1"><a href="#__codelineno-3-1" id="__codelineno-3-1" name="__codelineno-3-1"></a><span class="c1"># Install Python 3.11.8 using uv</span> |
|
|
</span><span id="__span-3-2"><a href="#__codelineno-3-2" id="__codelineno-3-2" name="__codelineno-3-2"></a>uv<span class="w"> </span>python<span class="w"> </span>install<span class="w"> </span><span class="m">3</span>.11.8 |
|
|
</span><span id="__span-3-3"><a href="#__codelineno-3-3" id="__codelineno-3-3" name="__codelineno-3-3"></a> |
|
|
</span><span id="__span-3-4"><a href="#__codelineno-3-4" id="__codelineno-3-4" name="__codelineno-3-4"></a><span class="c1"># Create virtual environment</span> |
|
|
</span><span id="__span-3-5"><a href="#__codelineno-3-5" id="__codelineno-3-5" name="__codelineno-3-5"></a>uv<span class="w"> </span>venv<span class="w"> </span>.venv<span class="w"> </span>--python<span class="w"> </span><span class="m">3</span>.11.8 |
|
|
</span><span id="__span-3-6"><a href="#__codelineno-3-6" id="__codelineno-3-6" name="__codelineno-3-6"></a> |
|
|
</span><span id="__span-3-7"><a href="#__codelineno-3-7" id="__codelineno-3-7" name="__codelineno-3-7"></a><span class="c1"># Activate environment</span> |
|
|
</span><span id="__span-3-8"><a href="#__codelineno-3-8" id="__codelineno-3-8" name="__codelineno-3-8"></a><span class="nb">source</span><span class="w"> </span>.venv/bin/activate |
|
|
</span></code></pre></div> <h3 id="2-dependencies">2. Dependencies<a class="headerlink" href="#2-dependencies" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-4-1"><a href="#__codelineno-4-1" id="__codelineno-4-1" name="__codelineno-4-1"></a><span class="c1"># Generate lock file and install dependencies</span> |
|
|
</span><span id="__span-4-2"><a href="#__codelineno-4-2" id="__codelineno-4-2" name="__codelineno-4-2"></a>just<span class="w"> </span>lock |
|
|
</span><span id="__span-4-3"><a href="#__codelineno-4-3" id="__codelineno-4-3" name="__codelineno-4-3"></a>just<span class="w"> </span>install |
|
|
</span><span id="__span-4-4"><a href="#__codelineno-4-4" id="__codelineno-4-4" name="__codelineno-4-4"></a> |
|
|
</span><span id="__span-4-5"><a href="#__codelineno-4-5" id="__codelineno-4-5" name="__codelineno-4-5"></a><span class="c1"># Or manually install</span> |
|
|
</span><span id="__span-4-6"><a href="#__codelineno-4-6" id="__codelineno-4-6" name="__codelineno-4-6"></a>uv<span class="w"> </span>pip<span class="w"> </span>sync<span class="w"> </span>requirements.lock |
|
|
</span></code></pre></div> <h3 id="3-verify-installation">3. Verify Installation<a class="headerlink" href="#3-verify-installation" title="Permanent link">ΒΆ</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id="__span-5-1"><a href="#__codelineno-5-1" id="__codelineno-5-1" name="__codelineno-5-1"></a><span class="c1"># Run comprehensive checks</span> |
|
|
</span><span id="__span-5-2"><a href="#__codelineno-5-2" id="__codelineno-5-2" name="__codelineno-5-2"></a>just<span class="w"> </span>check |
|
|
</span><span id="__span-5-3"><a href="#__codelineno-5-3" id="__codelineno-5-3" name="__codelineno-5-3"></a> |
|
|
</span><span id="__span-5-4"><a href="#__codelineno-5-4" id="__codelineno-5-4" name="__codelineno-5-4"></a><span class="c1"># Individual checks</span> |
|
|
</span><span id="__span-5-5"><a href="#__codelineno-5-5" id="__codelineno-5-5" name="__codelineno-5-5"></a>just<span class="w"> </span>lint-check<span class="w"> </span><span class="c1"># Code linting</span> |
|
|
</span><span id="__span-5-6"><a href="#__codelineno-5-6" id="__codelineno-5-6" name="__codelineno-5-6"></a>just<span class="w"> </span>format-check<span class="w"> </span><span class="c1"># Code formatting</span> |
|
|
</span><span id="__span-5-7"><a href="#__codelineno-5-7" id="__codelineno-5-7" name="__codelineno-5-7"></a>just<span class="w"> </span>type-check<span class="w"> </span><span class="c1"># Type checking</span> |
|
|
</span><span id="__span-5-8"><a href="#__codelineno-5-8" id="__codelineno-5-8" name="__codelineno-5-8"></a>just<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="c1"># Run tests</span> |
|
|
</span></code></pre></div> <h2 id="development-workflow">Development Workflow<a class="headerlink" href="#development-workflow" title="Permanent link">ΒΆ</a></h2> <h3 id="essential-commands-overview"><strong>Essential Commands Overview</strong><a class="headerlink" href="#essential-commands-overview" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>mindmap |
|
|
root((Just Commands)) |
|
|
Core Development |
|
|
just dev |
|
|
just run-app |
|
|
just run-api |
|
|
Code Quality |
|
|
just check |
|
|
just format |
|
|
just lint |
|
|
just type-check |
|
|
just test |
|
|
Task Management |
|
|
just tasks |
|
|
just task-next |
|
|
just task-start |
|
|
just task-done |
|
|
Environment |
|
|
just setup |
|
|
just update |
|
|
just clean</code></pre> <h3 id="essential-commands">Essential Commands<a class="headerlink" href="#essential-commands" title="Permanent link">ΒΆ</a></h3> <p>KGraph-MCP includes 30+ automation commands via <code>justfile</code>:</p> <div class="tabbed-set tabbed-alternate" data-tabs="1:3"><input checked="checked" id="essential-commands-core-development" name="__tabbed_1" type="radio"/><input id="essential-commands-task-management" name="__tabbed_1" type="radio"/><input id="essential-commands-quality--maintenance" name="__tabbed_1" type="radio"/><div class="tabbed-labels"><label for="essential-commands-core-development">Core Development</label><label for="essential-commands-task-management">Task Management</label><label for="essential-commands-quality--maintenance">Quality & Maintenance</label></div> <div class="tabbed-content"> <div class="tabbed-block"> <div class="language-bash highlight"><pre><span></span><code><span id="__span-6-1"><a href="#__codelineno-6-1" id="__codelineno-6-1" name="__codelineno-6-1"></a><span class="c1"># Start development server</span> |
|
|
</span><span id="__span-6-2"><a href="#__codelineno-6-2" id="__codelineno-6-2" name="__codelineno-6-2"></a>just<span class="w"> </span>dev<span class="w"> </span><span class="c1"># Development mode with reload</span> |
|
|
</span><span id="__span-6-3"><a href="#__codelineno-6-3" id="__codelineno-6-3" name="__codelineno-6-3"></a>just<span class="w"> </span>run-app<span class="w"> </span><span class="c1"># Production mode</span> |
|
|
</span><span id="__span-6-4"><a href="#__codelineno-6-4" id="__codelineno-6-4" name="__codelineno-6-4"></a>just<span class="w"> </span>run-api<span class="w"> </span><span class="c1"># API server only</span> |
|
|
</span><span id="__span-6-5"><a href="#__codelineno-6-5" id="__codelineno-6-5" name="__codelineno-6-5"></a> |
|
|
</span><span id="__span-6-6"><a href="#__codelineno-6-6" id="__codelineno-6-6" name="__codelineno-6-6"></a><span class="c1"># Code quality</span> |
|
|
</span><span id="__span-6-7"><a href="#__codelineno-6-7" id="__codelineno-6-7" name="__codelineno-6-7"></a>just<span class="w"> </span>check<span class="w"> </span><span class="c1"># Run all quality checks</span> |
|
|
</span><span id="__span-6-8"><a href="#__codelineno-6-8" id="__codelineno-6-8" name="__codelineno-6-8"></a>just<span class="w"> </span>format<span class="w"> </span><span class="c1"># Format code with Black + Ruff</span> |
|
|
</span><span id="__span-6-9"><a href="#__codelineno-6-9" id="__codelineno-6-9" name="__codelineno-6-9"></a>just<span class="w"> </span>lint<span class="w"> </span><span class="c1"># Lint and auto-fix with Ruff</span> |
|
|
</span><span id="__span-6-10"><a href="#__codelineno-6-10" id="__codelineno-6-10" name="__codelineno-6-10"></a>just<span class="w"> </span>type-check<span class="w"> </span><span class="c1"># MyPy type checking</span> |
|
|
</span><span id="__span-6-11"><a href="#__codelineno-6-11" id="__codelineno-6-11" name="__codelineno-6-11"></a>just<span class="w"> </span><span class="nb">test</span><span class="w"> </span><span class="c1"># Run pytest suite</span> |
|
|
</span><span id="__span-6-12"><a href="#__codelineno-6-12" id="__codelineno-6-12" name="__codelineno-6-12"></a>just<span class="w"> </span>test-cov<span class="w"> </span><span class="c1"># Test with coverage report</span> |
|
|
</span></code></pre></div> </div> <div class="tabbed-block"> <div class="language-bash highlight"><pre><span></span><code><span id="__span-7-1"><a href="#__codelineno-7-1" id="__codelineno-7-1" name="__codelineno-7-1"></a><span class="c1"># View tasks</span> |
|
|
</span><span id="__span-7-2"><a href="#__codelineno-7-2" id="__codelineno-7-2" name="__codelineno-7-2"></a>just<span class="w"> </span>tasks<span class="w"> </span><span class="c1"># List all tasks (GitHub + local)</span> |
|
|
</span><span id="__span-7-3"><a href="#__codelineno-7-3" id="__codelineno-7-3" name="__codelineno-7-3"></a>just<span class="w"> </span>task-next<span class="w"> </span><span class="c1"># Get next available task</span> |
|
|
</span><span id="__span-7-4"><a href="#__codelineno-7-4" id="__codelineno-7-4" name="__codelineno-7-4"></a>just<span class="w"> </span>tasks-status<span class="w"> </span>Done<span class="w"> </span><span class="c1"># Filter by status</span> |
|
|
</span><span id="__span-7-5"><a href="#__codelineno-7-5" id="__codelineno-7-5" name="__codelineno-7-5"></a> |
|
|
</span><span id="__span-7-6"><a href="#__codelineno-7-6" id="__codelineno-7-6" name="__codelineno-7-6"></a><span class="c1"># Work with tasks</span> |
|
|
</span><span id="__span-7-7"><a href="#__codelineno-7-7" id="__codelineno-7-7" name="__codelineno-7-7"></a>just<span class="w"> </span>task-start<span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="c1"># Start task #5</span> |
|
|
</span><span id="__span-7-8"><a href="#__codelineno-7-8" id="__codelineno-7-8" name="__codelineno-7-8"></a>just<span class="w"> </span>task-review<span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="c1"># Move to review</span> |
|
|
</span><span id="__span-7-9"><a href="#__codelineno-7-9" id="__codelineno-7-9" name="__codelineno-7-9"></a>just<span class="w"> </span>task-done<span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="c1"># Complete task</span> |
|
|
</span></code></pre></div> </div> <div class="tabbed-block"> <div class="language-bash highlight"><pre><span></span><code><span id="__span-8-1"><a href="#__codelineno-8-1" id="__codelineno-8-1" name="__codelineno-8-1"></a><span class="c1"># Pre-commit checks</span> |
|
|
</span><span id="__span-8-2"><a href="#__codelineno-8-2" id="__codelineno-8-2" name="__codelineno-8-2"></a>just<span class="w"> </span>pre-commit<span class="w"> </span><span class="c1"># Run before committing</span> |
|
|
</span><span id="__span-8-3"><a href="#__codelineno-8-3" id="__codelineno-8-3" name="__codelineno-8-3"></a> |
|
|
</span><span id="__span-8-4"><a href="#__codelineno-8-4" id="__codelineno-8-4" name="__codelineno-8-4"></a><span class="c1"># Environment maintenance</span> |
|
|
</span><span id="__span-8-5"><a href="#__codelineno-8-5" id="__codelineno-8-5" name="__codelineno-8-5"></a>just<span class="w"> </span>update<span class="w"> </span><span class="c1"># Update dependencies</span> |
|
|
</span><span id="__span-8-6"><a href="#__codelineno-8-6" id="__codelineno-8-6" name="__codelineno-8-6"></a>just<span class="w"> </span>clean<span class="w"> </span><span class="c1"># Clean caches</span> |
|
|
</span><span id="__span-8-7"><a href="#__codelineno-8-7" id="__codelineno-8-7" name="__codelineno-8-7"></a>just<span class="w"> </span>clean-all<span class="w"> </span><span class="c1"># Deep clean (removes venv)</span> |
|
|
</span></code></pre></div> </div> </div> </div> <h3 id="development-command-flow"><strong>Development Command Flow</strong><a class="headerlink" href="#development-command-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>flowchart TD |
|
|
Developer[π¨βπ» Developer] --> TaskCheck[just task-next] |
|
|
TaskCheck --> StartTask[just task-start <id>] |
|
|
StartTask --> DevLoop{Development Loop} |
|
|
|
|
|
DevLoop --> Code[π» Write Code] |
|
|
Code --> Test[just test] |
|
|
Test --> Quality[just check] |
|
|
|
|
|
Quality --> Pass{Quality Pass?} |
|
|
Pass -->|β
Yes| Commit[git commit] |
|
|
Pass -->|β No| Fix[π§ Fix Issues] |
|
|
Fix --> Code |
|
|
|
|
|
Commit --> Push[git push] |
|
|
Push --> PR[Create Pull Request] |
|
|
PR --> DoneTask[just task-done <id>] |
|
|
DoneTask --> TaskCheck |
|
|
|
|
|
style Developer fill:#e3f2fd |
|
|
style Quality fill:#e8f5e8 |
|
|
style Pass fill:#f3e5f5 |
|
|
style Commit fill:#c8e6c9 |
|
|
style Fix fill:#ffebee</code></pre> <h3 id="project-structure-overview">Project Structure Overview<a class="headerlink" href="#project-structure-overview" title="Permanent link">ΒΆ</a></h3> <div class="language-text highlight"><pre><span></span><code><span id="__span-9-1"><a href="#__codelineno-9-1" id="__codelineno-9-1" name="__codelineno-9-1"></a>kgraph-mcp-hackathon/ |
|
|
</span><span id="__span-9-2"><a href="#__codelineno-9-2" id="__codelineno-9-2" name="__codelineno-9-2"></a>βββ agents/ # AI Agent Framework (planned) |
|
|
</span><span id="__span-9-3"><a href="#__codelineno-9-3" id="__codelineno-9-3" name="__codelineno-9-3"></a>βββ api/ # FastAPI backend |
|
|
</span><span id="__span-9-4"><a href="#__codelineno-9-4" id="__codelineno-9-4" name="__codelineno-9-4"></a>β βββ core/ # Core API functionality |
|
|
</span><span id="__span-9-5"><a href="#__codelineno-9-5" id="__codelineno-9-5" name="__codelineno-9-5"></a>β βββ models/ # Data models |
|
|
</span><span id="__span-9-6"><a href="#__codelineno-9-6" id="__codelineno-9-6" name="__codelineno-9-6"></a>β βββ routes/ # API endpoints |
|
|
</span><span id="__span-9-7"><a href="#__codelineno-9-7" id="__codelineno-9-7" name="__codelineno-9-7"></a>β βββ services/ # Business logic |
|
|
</span><span id="__span-9-8"><a href="#__codelineno-9-8" id="__codelineno-9-8" name="__codelineno-9-8"></a>βββ docs/ # Comprehensive documentation |
|
|
</span><span id="__span-9-9"><a href="#__codelineno-9-9" id="__codelineno-9-9" name="__codelineno-9-9"></a>βββ kg_services/ # Knowledge Graph services |
|
|
</span><span id="__span-9-10"><a href="#__codelineno-9-10" id="__codelineno-9-10" name="__codelineno-9-10"></a>βββ scripts/ # Automation scripts |
|
|
</span><span id="__span-9-11"><a href="#__codelineno-9-11" id="__codelineno-9-11" name="__codelineno-9-11"></a>βββ tests/ # Comprehensive test suite |
|
|
</span><span id="__span-9-12"><a href="#__codelineno-9-12" id="__codelineno-9-12" name="__codelineno-9-12"></a>βββ app.py # Main application entry |
|
|
</span><span id="__span-9-13"><a href="#__codelineno-9-13" id="__codelineno-9-13" name="__codelineno-9-13"></a>βββ justfile # Development automation |
|
|
</span><span id="__span-9-14"><a href="#__codelineno-9-14" id="__codelineno-9-14" name="__codelineno-9-14"></a>βββ requirements*.txt # Dependency management |
|
|
</span></code></pre></div> <h3 id="project-structure-visualization"><strong>Project Structure Visualization</strong><a class="headerlink" href="#project-structure-visualization" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>graph TB |
|
|
subgraph "ποΈ Core Application" |
|
|
App[app.py<br/>Main Entry Point] |
|
|
Config[Configuration<br/>Environment Setup] |
|
|
end |
|
|
|
|
|
subgraph "π API Layer" |
|
|
API[api/<br/>FastAPI Backend] |
|
|
Routes[routes/<br/>HTTP Endpoints] |
|
|
Models[models/<br/>Data Schemas] |
|
|
Services[services/<br/>Business Logic] |
|
|
end |
|
|
|
|
|
subgraph "π€ Intelligence Layer" |
|
|
Agents[agents/<br/>AI Agents] |
|
|
KG[kg_services/<br/>Knowledge Graph] |
|
|
Planning[Planning Engine] |
|
|
Execution[Execution Engine] |
|
|
end |
|
|
|
|
|
subgraph "π§ Development Tools" |
|
|
Just[justfile<br/>Automation] |
|
|
Tests[tests/<br/>Test Suite] |
|
|
Docs[docs/<br/>Documentation] |
|
|
Scripts[scripts/<br/>Utilities] |
|
|
end |
|
|
|
|
|
App --> API |
|
|
API --> Routes |
|
|
API --> Models |
|
|
API --> Services |
|
|
|
|
|
Services --> Agents |
|
|
Agents --> KG |
|
|
Agents --> Planning |
|
|
Agents --> Execution |
|
|
|
|
|
Just --> Tests |
|
|
Just --> Docs |
|
|
Just --> Scripts |
|
|
|
|
|
style App fill:#e3f2fd |
|
|
style API fill:#e8f5e8 |
|
|
style Agents fill:#f3e5f5 |
|
|
style Just fill:#fff3e0</code></pre> <h2 id="exploring-the-platform">Exploring the Platform<a class="headerlink" href="#exploring-the-platform" title="Permanent link">ΒΆ</a></h2> <h3 id="user-exploration-journey"><strong>User Exploration Journey</strong><a class="headerlink" href="#user-exploration-journey" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>journey |
|
|
title Exploring KGraph-MCP Platform |
|
|
section Web Interface |
|
|
Open Gradio Interface : 5: User |
|
|
Explore Task Management : 4: User |
|
|
View System Status : 3: User |
|
|
section API Exploration |
|
|
Open API Documentation : 4: User |
|
|
Test Health Endpoint : 5: User |
|
|
Explore Available APIs : 3: User |
|
|
section Task System |
|
|
View Current Tasks : 5: User |
|
|
Understand Task Flow : 4: User |
|
|
Try Task Commands : 3: User |
|
|
section Development |
|
|
Read Documentation : 4: User |
|
|
Run First Tests : 5: User |
|
|
Start First Task : 5: User</code></pre> <h3 id="1-web-interface">1. Web Interface<a class="headerlink" href="#1-web-interface" title="Permanent link">ΒΆ</a></h3> <p>Once the development server is running, explore the Gradio interface:</p> <ul> <li><strong>Task Management Tab</strong>: View and manage development tasks</li> <li><strong>Knowledge Graph Tab</strong>: Visualize MCP primitives (coming soon) </li> <li><strong>Agent Interaction Tab</strong>: Chat with AI agents (planned)</li> </ul> <h3 id="web-interface-architecture"><strong>Web Interface Architecture</strong><a class="headerlink" href="#web-interface-architecture" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>graph TB |
|
|
subgraph "π¨ Gradio Interface (localhost:7860)" |
|
|
TaskTab[π Task Management Tab] |
|
|
KGTab[π§ Knowledge Graph Tab] |
|
|
AgentTab[π€ Agent Interaction Tab] |
|
|
StatusTab[π System Status Tab] |
|
|
end |
|
|
|
|
|
subgraph "π FastAPI Backend (localhost:8000)" |
|
|
TaskAPI[/api/tasks] |
|
|
KGAPI[/api/kg] |
|
|
AgentAPI[/api/agents] |
|
|
HealthAPI[/health] |
|
|
end |
|
|
|
|
|
subgraph "π Documentation (localhost:8001)" |
|
|
UserGuide[User Guide] |
|
|
APIRef[API Reference] |
|
|
Architecture[Architecture Docs] |
|
|
Examples[Examples & Tutorials] |
|
|
end |
|
|
|
|
|
TaskTab --> TaskAPI |
|
|
KGTab --> KGAPI |
|
|
AgentTab --> AgentAPI |
|
|
StatusTab --> HealthAPI |
|
|
|
|
|
TaskAPI --> UserGuide |
|
|
KGAPI --> APIRef |
|
|
AgentAPI --> Architecture |
|
|
HealthAPI --> Examples |
|
|
|
|
|
style TaskTab fill:#e3f2fd |
|
|
style TaskAPI fill:#e8f5e8 |
|
|
style UserGuide fill:#f3e5f5</code></pre> <h3 id="2-api-exploration">2. API Exploration<a class="headerlink" href="#2-api-exploration" title="Permanent link">ΒΆ</a></h3> <p>The FastAPI backend provides comprehensive APIs:</p> <div class="language-bash highlight"><pre><span></span><code><span id="__span-10-1"><a href="#__codelineno-10-1" id="__codelineno-10-1" name="__codelineno-10-1"></a><span class="c1"># Open interactive API documentation</span> |
|
|
</span><span id="__span-10-2"><a href="#__codelineno-10-2" id="__codelineno-10-2" name="__codelineno-10-2"></a>open<span class="w"> </span>http://localhost:8000/docs |
|
|
</span><span id="__span-10-3"><a href="#__codelineno-10-3" id="__codelineno-10-3" name="__codelineno-10-3"></a> |
|
|
</span><span id="__span-10-4"><a href="#__codelineno-10-4" id="__codelineno-10-4" name="__codelineno-10-4"></a><span class="c1"># Key endpoints</span> |
|
|
</span><span id="__span-10-5"><a href="#__codelineno-10-5" id="__codelineno-10-5" name="__codelineno-10-5"></a>curl<span class="w"> </span>http://localhost:8000/health<span class="w"> </span><span class="c1"># Health check</span> |
|
|
</span><span id="__span-10-6"><a href="#__codelineno-10-6" id="__codelineno-10-6" name="__codelineno-10-6"></a>curl<span class="w"> </span>http://localhost:8000/api/tasks<span class="w"> </span><span class="c1"># Task management</span> |
|
|
</span><span id="__span-10-7"><a href="#__codelineno-10-7" id="__codelineno-10-7" name="__codelineno-10-7"></a>curl<span class="w"> </span>http://localhost:8000/api/kg/tools<span class="w"> </span><span class="c1"># Knowledge graph (planned)</span> |
|
|
</span></code></pre></div> <h3 id="api-exploration-flow"><strong>API Exploration Flow</strong><a class="headerlink" href="#api-exploration-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>sequenceDiagram |
|
|
participant User |
|
|
participant Browser as Web Browser |
|
|
participant API as FastAPI Server |
|
|
participant Docs as API Documentation |
|
|
participant Backend as Backend Services |
|
|
|
|
|
User->>Browser: Open http://localhost:8000/docs |
|
|
Browser->>API: Request API documentation |
|
|
API->>Docs: Generate interactive docs |
|
|
Docs-->>Browser: Display Swagger UI |
|
|
Browser-->>User: Show API interface |
|
|
|
|
|
User->>Docs: Try API endpoint |
|
|
Docs->>API: Send test request |
|
|
API->>Backend: Process request |
|
|
Backend-->>API: Return response |
|
|
API-->>Docs: Response data |
|
|
Docs-->>User: Display results |
|
|
|
|
|
Note over User,Backend: Interactive API exploration</code></pre> <h3 id="3-task-management-system">3. Task Management System<a class="headerlink" href="#3-task-management-system" title="Permanent link">ΒΆ</a></h3> <p>KGraph-MCP includes a sophisticated task management system:</p> <div class="language-bash highlight"><pre><span></span><code><span id="__span-11-1"><a href="#__codelineno-11-1" id="__codelineno-11-1" name="__codelineno-11-1"></a><span class="c1"># View current development tasks</span> |
|
|
</span><span id="__span-11-2"><a href="#__codelineno-11-2" id="__codelineno-11-2" name="__codelineno-11-2"></a>just<span class="w"> </span>tasks |
|
|
</span><span id="__span-11-3"><a href="#__codelineno-11-3" id="__codelineno-11-3" name="__codelineno-11-3"></a> |
|
|
</span><span id="__span-11-4"><a href="#__codelineno-11-4" id="__codelineno-11-4" name="__codelineno-11-4"></a><span class="c1"># Example output:</span> |
|
|
</span><span id="__span-11-5"><a href="#__codelineno-11-5" id="__codelineno-11-5" name="__codelineno-11-5"></a><span class="c1"># π Current tasks:</span> |
|
|
</span></code></pre></div> <h3 id="task-management-flow"><strong>Task Management Flow</strong><a class="headerlink" href="#task-management-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>stateDiagram-v2 |
|
|
[*] --> ViewTasks : just tasks |
|
|
ViewTasks --> SelectTask : Choose task |
|
|
SelectTask --> StartTask : just task-start <id> |
|
|
|
|
|
StartTask --> Development : Write code |
|
|
Development --> Testing : Run tests |
|
|
Testing --> QualityCheck : Quality gates |
|
|
|
|
|
QualityCheck --> Commit : All checks pass |
|
|
QualityCheck --> FixIssues : Issues found |
|
|
FixIssues --> Development |
|
|
|
|
|
Commit --> Review : Create PR |
|
|
Review --> CompleteTask : just task-done <id> |
|
|
CompleteTask --> ViewTasks : Get next task |
|
|
|
|
|
state Development { |
|
|
[*] --> Coding |
|
|
Coding --> LocalTesting |
|
|
LocalTesting --> Debugging |
|
|
Debugging --> Coding |
|
|
LocalTesting --> [*] |
|
|
} |
|
|
|
|
|
state QualityCheck { |
|
|
[*] --> Linting |
|
|
Linting --> Formatting |
|
|
Formatting --> TypeCheck |
|
|
TypeCheck --> TestRun |
|
|
TestRun --> [*] |
|
|
}</code></pre> <h2 id="next-steps-learning-path">π― Next Steps & Learning Path<a class="headerlink" href="#next-steps-learning-path" title="Permanent link">ΒΆ</a></h2> <h3 id="learning-journey"><strong>Learning Journey</strong><a class="headerlink" href="#learning-journey" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>journey |
|
|
title KGraph-MCP Learning Path |
|
|
section Foundation |
|
|
Complete Setup : 5: Learner |
|
|
Explore Interface : 4: Learner |
|
|
Read Core Documentation : 3: Learner |
|
|
section Practice |
|
|
Complete First Task : 5: Learner |
|
|
Understand Workflow : 4: Learner |
|
|
Try Quality Tools : 4: Learner |
|
|
section Advanced |
|
|
Explore Architecture : 3: Learner |
|
|
Understand Agents : 2: Learner |
|
|
Contribute Features : 4: Learner |
|
|
section Mastery |
|
|
Lead Development : 4: Expert |
|
|
Mentor Others : 5: Expert |
|
|
System Architecture : 3: Expert</code></pre> <h3 id="recommended-learning-path"><strong>Recommended Learning Path</strong><a class="headerlink" href="#recommended-learning-path" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>flowchart TD |
|
|
Start([π― Start Learning]) --> Setup[β
Complete Setup] |
|
|
Setup --> Basic[π Basic Understanding] |
|
|
Basic --> Practice[π» Hands-on Practice] |
|
|
Practice --> Advanced[π Advanced Topics] |
|
|
Advanced --> Contribute[π€ Contribute Back] |
|
|
|
|
|
subgraph "π Basic Understanding" |
|
|
ReadDocs[Read Documentation] |
|
|
ExploreUI[Explore User Interface] |
|
|
UnderstandTasks[Understand Task System] |
|
|
end |
|
|
|
|
|
subgraph "π» Hands-on Practice" |
|
|
FirstTask[Complete First Task] |
|
|
QualityTools[Use Quality Tools] |
|
|
TestFramework[Write Tests] |
|
|
end |
|
|
|
|
|
subgraph "π Advanced Topics" |
|
|
Architecture[Study Architecture] |
|
|
AIAgents[Understand AI Agents] |
|
|
KnowledgeGraph[Knowledge Graph Concepts] |
|
|
end |
|
|
|
|
|
subgraph "π€ Contribute Back" |
|
|
FeatureDev[Develop Features] |
|
|
Documentation[Improve Docs] |
|
|
Community[Help Community] |
|
|
end |
|
|
|
|
|
Setup --> ReadDocs |
|
|
ReadDocs --> ExploreUI |
|
|
ExploreUI --> UnderstandTasks |
|
|
|
|
|
UnderstandTasks --> FirstTask |
|
|
FirstTask --> QualityTools |
|
|
QualityTools --> TestFramework |
|
|
|
|
|
TestFramework --> Architecture |
|
|
Architecture --> AIAgents |
|
|
AIAgents --> KnowledgeGraph |
|
|
|
|
|
KnowledgeGraph --> FeatureDev |
|
|
FeatureDev --> Documentation |
|
|
Documentation --> Community |
|
|
|
|
|
style Start fill:#e3f2fd |
|
|
style Setup fill:#e8f5e8 |
|
|
style Practice fill:#f3e5f5 |
|
|
style Contribute fill:#c8e6c9</code></pre> <h3 id="immediate-next-steps">Immediate Next Steps<a class="headerlink" href="#immediate-next-steps" title="Permanent link">ΒΆ</a></h3> <ol> <li><strong>Complete Setup</strong>: Follow the setup guide and verify your environment</li> <li><strong>Explore Interface</strong>: Open the web interface and familiarize yourself with the tabs</li> <li><strong>Read Documentation</strong>: Browse through the documentation to understand the system</li> <li><strong>Try Commands</strong>: Experiment with the <code>just</code> commands to understand the workflow</li> <li><strong>Get First Task</strong>: Use <code>just task-next</code> to get your first development task</li> </ol> <h3 id="learning-resources">Learning Resources<a class="headerlink" href="#learning-resources" title="Permanent link">ΒΆ</a></h3> <ul> <li><strong><a href="../user-guide/">User Guide</a></strong> - Comprehensive user documentation</li> <li><strong><a href="../developer-guide/">Developer Guide</a></strong> - Development processes and patterns</li> <li><strong><a href="../api/">API Reference</a></strong> - Complete API documentation</li> <li><strong><a href="../architecture/">Architecture Docs</a></strong> - System design and patterns</li> </ul> <h3 id="resource-navigation-map"><strong>Resource Navigation Map</strong><a class="headerlink" href="#resource-navigation-map" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>mindmap |
|
|
root((KGraph-MCP Docs)) |
|
|
User Guide |
|
|
Quick Start |
|
|
Task Management |
|
|
Configuration |
|
|
Troubleshooting |
|
|
Developer Guide |
|
|
Development Workflow |
|
|
Code Standards |
|
|
Testing Patterns |
|
|
Deployment |
|
|
Architecture |
|
|
System Overview |
|
|
Agent Framework |
|
|
Knowledge Graph |
|
|
Data Flow |
|
|
API Reference |
|
|
FastAPI Docs |
|
|
Agent APIs |
|
|
Knowledge Graph APIs |
|
|
Integration APIs</code></pre> <hr/> <h2 id="getting-help">π Getting Help<a class="headerlink" href="#getting-help" title="Permanent link">ΒΆ</a></h2> <p>If you encounter issues:</p> <ol> <li><strong>Check Documentation</strong>: Browse the comprehensive docs for answers</li> <li><strong>View Issues</strong>: Check GitHub issues for known problems</li> <li><strong>Ask Questions</strong>: Create a new issue with detailed information</li> <li><strong>Join Discussions</strong>: Participate in GitHub discussions</li> </ol> <h3 id="support-flow"><strong>Support Flow</strong><a class="headerlink" href="#support-flow" title="Permanent link">ΒΆ</a></h3> <pre class="mermaid"><code>flowchart TD |
|
|
Issue[β Have a Question/Issue?] --> Search[π Search Documentation] |
|
|
Search --> Found{Answer Found?} |
|
|
|
|
|
Found -->|β
Yes| Resolved[β
Issue Resolved] |
|
|
Found -->|β No| CheckGitHub[π Check GitHub Issues] |
|
|
|
|
|
CheckGitHub --> Exists{Issue Exists?} |
|
|
Exists -->|β
Yes| Follow[π Follow Existing Issue] |
|
|
Exists -->|β No| Create[π Create New Issue] |
|
|
|
|
|
Create --> Provide[π Provide Details] |
|
|
Provide --> Submit[π€ Submit Issue] |
|
|
Submit --> Community[π₯ Community Support] |
|
|
|
|
|
Follow --> Community |
|
|
Community --> Resolved |
|
|
|
|
|
style Issue fill:#e3f2fd |
|
|
style Found fill:#e8f5e8 |
|
|
style Resolved fill:#c8e6c9 |
|
|
style Create fill:#fff3e0</code></pre> <p>Welcome to the KGraph-MCP community! Happy coding! π </p> <aside class="md-source-file"> <span class="md-source-file__fact"> <span class="md-icon" title="Last update"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"></path></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="June 9, 2025 09:40:36 UTC">June 9, 2025</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component="top" hidden="" type="button"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class="md-footer"> <nav aria-label="Footer" class="md-footer__inner md-grid"> <a aria-label="Previous: Overview" class="md-footer__link md-footer__link--prev" href=".."> <div class="md-footer__button md-icon"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </div> <div class="md-footer__title"> <span class="md-footer__direction"> Previous </span> <div class="md-ellipsis"> Overview </div> </div> </a> <a aria-label="Next: Architecture" class="md-footer__link md-footer__link--next" href="../architecture/"> <div class="md-footer__title"> <span class="md-footer__direction"> Next </span> <div class="md-ellipsis"> Architecture </div> </div> <div class="md-footer__button md-icon"> <svg viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11z"></path></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class="md-copyright"> <div class="md-copyright__highlight"> Copyright Β© 2024 KGraph-MCP Development Team - <a href="#__consent">Change cookie settings</a> </div> Made with <a href="https://squidfunk.github.io/mkdocs-material/" rel="noopener" target="_blank"> Material for MkDocs </a> </div> <div class="md-social"> <a class="md-social__link" href="https://github.com/BasalGanglia/kgraph-mcp-hackathon" rel="noopener" target="_blank" title="github.com"> <svg viewbox="0 0 496 512" xmlns="http://www.w3.org/2000/svg"><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8M97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class="md-social__link" href="https://pypi.org/project/kgraph-mcp/" rel="noopener" target="_blank" title="pypi.org"> <svg viewbox="0 0 448 512" xmlns="http://www.w3.org/2000/svg"><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6M286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3M167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4m-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3"></path></svg> </a> <a class="md-social__link" href="mailto:[email protected]" rel="noopener" target="_blank" title=""> <svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480v-83.6c0-4 1.5-7.8 4.2-10.8l167.6-182.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8l-88.3-44.2C7.1 311.3.3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4"></path></svg> </a> </div> </div> </div> </footer> </div> <div class="md-dialog" data-md-component="dialog"> <div class="md-dialog__inner md-typeset"></div> </div> <div class="md-progress" data-md-component="progress" role="progressbar"></div> <div class="md-consent" data-md-component="consent" hidden="" id="__consent"> <div class="md-consent__overlay"></div> <aside class="md-consent__inner"> <form class="md-consent__form md-grid md-typeset" name="consent"> <h4>Cookie consent</h4> <p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p> <input class="md-toggle" id="__settings" type="checkbox"/> <div class="md-consent__settings"> <ul class="task-list"> <li class="task-list-item"> <label class="task-list-control"> <input checked="" name="analytics" type="checkbox"/> <span class="task-list-indicator"></span> Google Analytics </label> </li> <li class="task-list-item"> <label class="task-list-control"> <input checked="" name="github" type="checkbox"/> <span class="task-list-indicator"></span> GitHub </label> </li> </ul> </div> <div class="md-consent__controls"> <button class="md-button md-button--primary">Accept</button> <label class="md-button" for="__settings">Manage settings</label> </div> </form> </aside> </div> <script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script> <script id="__config" type="application/json">{"base": "..", "features": ["navigation.instant", "navigation.instant.prefetch", "navigation.instant.progress", "navigation.tracking", "navigation.tabs", "navigation.tabs.sticky", "navigation.sections", "navigation.expand", "navigation.prune", "navigation.indexes", "navigation.top", "navigation.footer", "search.highlight", "search.share", "search.suggest", "header.autohide", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "announce.dismiss"], "search": "../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"default": "latest", "provider": "mike"}}</script> <script src="../assets/javascripts/bundle.13a4f30d.min.js"></script> <script id="init-glightbox">const lightbox = GLightbox({"touchNavigation": true, "loop": false, "zoomable": true, "draggable": true, "openEffect": "zoom", "closeEffect": "zoom", "slideEffect": "slide"}); |
|
|
document$.subscribe(() => { lightbox.reload() }); |
|
|
</script></body> </html> |