{"id":46628562,"url":"https://github.com/kahliburke/kaimon.jl","last_synced_at":"2026-04-12T19:02:52.960Z","repository":{"id":340949811,"uuid":"1168313656","full_name":"kahliburke/Kaimon.jl","owner":"kahliburke","description":"MCP server giving AI agents full access to Julia's runtime via a live Gate — code execution, introspection, debugging, testing, and semantic search","archived":false,"fork":false,"pushed_at":"2026-04-02T07:46:44.000Z","size":3903,"stargazers_count":40,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-02T20:16:47.640Z","etag":null,"topics":["agent","ai","claude","claude-code","cursor","debugging","developer-tools","gemini-cli","julia","julia-lang","llm","mcp","mcp-server","model-context-protocol","qdrant","repl","semantic-search","tui","vscode","zmq"],"latest_commit_sha":null,"homepage":"https://kahliburke.github.io/Kaimon.jl/dev/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kahliburke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-27T08:43:55.000Z","updated_at":"2026-03-30T19:12:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"632a86f0-0766-417e-9302-9c15a4193351","html_url":"https://github.com/kahliburke/Kaimon.jl","commit_stats":null,"previous_names":["kahliburke/kaimon.jl"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kahliburke/Kaimon.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahliburke%2FKaimon.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahliburke%2FKaimon.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahliburke%2FKaimon.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahliburke%2FKaimon.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kahliburke","download_url":"https://codeload.github.com/kahliburke/Kaimon.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kahliburke%2FKaimon.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31426193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T02:22:46.605Z","status":"ssl_error","status_checked_at":"2026-04-05T02:22:33.263Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","ai","claude","claude-code","cursor","debugging","developer-tools","gemini-cli","julia","julia-lang","llm","mcp","mcp-server","model-context-protocol","qdrant","repl","semantic-search","tui","vscode","zmq"],"created_at":"2026-03-07T23:10:36.801Z","updated_at":"2026-04-12T19:02:52.952Z","avatar_url":"https://github.com/kahliburke.png","language":"Julia","readme":"# Kaimon.jl\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/kahliburke/Kaimon.jl/releases/download/docs-assets/kaimon-logo.jpg\" alt=\"Kaimon\" width=\"320\" /\u003e\n\u003c/p\u003e\n\n**Opening the gate between AI and Julia.**\n\n[![CI](https://github.com/kahliburke/Kaimon.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/kahliburke/Kaimon.jl/actions/workflows/CI.yml)\n[![Docs](https://img.shields.io/badge/docs-dev-blue.svg)](https://kahliburke.github.io/Kaimon.jl/dev/)\n[![Julia 1.12+](https://img.shields.io/badge/julia-1.12%2B-blue)](https://julialang.org)\n[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n\nKaimon is an MCP (Model Context Protocol) server that gives AI agents full access to\nJulia's runtime. Connect Claude Code, Cursor, or any MCP client to a live Julia session\nwith 32+ tools for code execution, introspection, debugging, testing, and semantic\ncode search.\n\n## Key Features\n\n- **Live Code Execution** — evaluate Julia code in persistent REPL sessions with full\n  state, package access, and streaming output\n- **Deep Introspection** — inspect types, methods, lowered IR, type-inferred code, and\n  macro expansions directly from the agent\n- **The Gate** — connect external Julia processes and register custom tools via ZMQ.\n  Your app's domain logic becomes agent-callable with automatic schema generation\n- **Interactive Debugging** — Infiltrator.jl integration with breakpoints, variable\n  inspection, and expression evaluation at pause points\n- **Semantic Code Search** — index projects into Qdrant and search with natural language\n  queries like \"function that handles HTTP routing\"\n- **Terminal Dashboard** — real-time TUI monitoring sessions, tool calls, test runs,\n  and search results across all connected REPLs\n- **Security** — three modes (strict/relaxed/lax), API key management, IP allowlists\n- **Testing \u0026 Profiling** — run tests with pattern filtering and coverage, profile code,\n  stress-test with concurrent simulated agents\n\n## Quick Start\n\n```julia\n]app add Kaimon\n```\n\nThis installs the `kaimon` command to `~/.julia/bin/` (make sure it's on your `PATH`). Then:\n\n```bash\nkaimon\n```\n\nThe first run opens a setup wizard (security mode, API key, port). After that, the terminal dashboard launches:\n\n![Kaimon dashboard](docs/src/assets/kaimon_overview.gif)\n\nFrom the dashboard:\n- Press **`i`** in the Config tab to write MCP config for Claude Code, Cursor, VS Code, or Gemini CLI\n- Press **`g`** to add a Gate snippet to `~/.julia/config/startup.jl` so every Julia session auto-connects\n- Or connect manually from any REPL: `using Kaimon; Gate.serve()`\n\n## Tool Categories\n\n| Category | Tools | Description |\n|----------|-------|-------------|\n| Code Execution | `ex`, `manage_repl` | Evaluate code, restart/shutdown sessions |\n| Introspection | `investigate_environment`, `search_methods`, `type_info`, `list_names`, `workspace_symbols`, `document_symbols`, `macro_expand` | Explore types, methods, and symbols |\n| Code Analysis | `code_lowered`, `code_typed`, `format_code`, `lint_package` | IR inspection, formatting, linting |\n| Navigation | `goto_definition`, `navigate_to_file` | Jump to definitions and source locations |\n| VS Code | `execute_vscode_command`, `list_vscode_commands` | VS Code command execution |\n| Debugging | `debug_ctrl`, `debug_eval`, `debug_exfiltrate`, `debug_inspect_safehouse`, `debug_clear_safehouse` | Infiltrator.jl breakpoint debugging |\n| Packages | `pkg_add`, `pkg_rm` | Add/remove packages |\n| Testing | `run_tests`, `profile_code`, `stress_test` | Test execution, profiling, load testing |\n| Search | `qdrant_search_code`, `qdrant_index_project`, `qdrant_sync_index`, `qdrant_list_collections`, `qdrant_collection_info`, `qdrant_browse_collection`, `qdrant_reindex_file` | Semantic code search |\n| Info | `ping`, `usage_instructions`, `usage_quiz`, `tool_help` | Server status and documentation |\n\n## The Gate\n\nConnect any Julia process and expose domain-specific tools to AI agents:\n\n```julia\nusing Kaimon.Gate: GateTool, serve\n\nfunction analyze_data(path::String, threshold::Float64=0.95)\n    data = load(path)\n    filter(x -\u003e x.score \u003e threshold, data)\nend\n\n# Kaimon auto-generates the MCP schema from the function signature\nserve(tools=[GateTool(analyze_data)])\n```\n\nThe connected REPL appears as a session in Kaimon's TUI. The agent can call\n`analyze_data` alongside all built-in tools, with full argument validation\nand type checking.\n\n## Documentation\n\nFull documentation: [kahliburke.github.io/Kaimon.jl](https://kahliburke.github.io/Kaimon.jl/dev/)\n\n## Requirements\n\n- Julia 1.12+\n- Any MCP-compatible client (Claude Code, Cursor, VS Code with MCP extension)\n- Optional: [Qdrant](https://qdrant.tech) for semantic code search\n- Optional: [VS Code Remote Control](https://marketplace.visualstudio.com/items?itemName=nicollasricas.vscode-remote-control) extension for VS Code integration\n\n## Contributing\n\nContributions are welcome. Please open an issue to discuss changes before submitting\na pull request.\n\n## License\n\nMIT\n\n---\n\n**Kaimon** (開門) — \"opening the gate.\" The gate between AI agents and the Julia\necosystem.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkahliburke%2Fkaimon.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkahliburke%2Fkaimon.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkahliburke%2Fkaimon.jl/lists"}