zchee / zchee/ganja-code

Lazy dial of a deferred MCP server

Open
#82 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

idea size:M verdict:do
Dominant language
Rust
Stars
2
Forks
0
Avg merge
1h
Merged PRs (30d)
17

Description

What it does

Connects a deferred MCP server only when a search or a call first touches it, instead of connecting every configured server at startup.

Source

ganja-code-r2e (dial a deferred MCP server only when first touched).

The bead is closed when this issue is published, with its external reference pointing here (#38).

File and line references in this issue are to main as of 75a7a92.

Against the three criteria

  • Direction (README): The README's only word on tools is "permission-gated tools" (README.md:6); it says nothing about MCP.
  • Today's terminal users: Every configured server is connected once, at startup, in a background task (crates/ganja-core/src/mcp.rs:6).
  • Evidence: D492's decision left deferring the dial out of scope because tools/list needs the dial; how an undialled server's tools would be searchable is unsolved. The exploration is part of the work.

Depends on

No other idea.

Verdict

  • Verdict: do
  • Size: M — one plan and one decision number.
  • Exception to the probe rule: yes. #36 says an idea that needs a measurement or a probe first is not do; this one is an explicit exception: the exploration is part of the work.
  • Date: 2026-09-19
  • Verdict ticket: #43

Theme: #55

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with crates/ganja-core/src/mcp.rs:6 and compare its startup connection behavior with the deferred-dial goal. Read D492 and investigate how tools/list and search could work before a server is dialled. Done means resolving that exploration, recording the decision, and implementing the agreed behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.