feat: Dual-OS Neovim MCP Integration

- Created linux-nvim and win-nvim MCP servers for deep Neovim Msgpack-RPC integration.
- Implemented tools: nvim_goto_line, nvim_get_active_buffer, nvim_get_cursor, nvim_get_visual_selection, nvim_set_diagnostics.
- Added gemini-integration.lua for active UI socket discovery.
- Updated build.cmd to cross-compile for both Windows (gnu) and Linux (musl).
- Updated README, design.md, and instructions.md with architecture and tool capabilities.
This commit is contained in:
Reazul Ashraf committed 2026-09-10 23:20:03 +01:00
1 parent 28f70aafdb
commit 67b6a0407e
14 files changed
+1271 -19

No files matched your search

+8 -6
View File
@@ -7,10 +7,12 @@ use tokio::sync::mpsc;
use tokio_util::io::StreamReader;
#[derive(Parser)]
#[command(name = "mcp-memory-stub")]
#[command(name = "mcp-memory-stub", author, version, about = "Antigravity MCP Memory Stub / Proxy", long_about = None)]
struct Cli {
/// Target URL for the stub to proxy messages to
#[arg(long, default_value = "http://localhost:3000")]
target: String,
/// Optional command to execute if the target server is unreachable
#[arg(long)]
wake_cmd: Option<String>,
}
@@ -56,11 +58,9 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
.send()
.await;
if res.is_ok() {
break;
}
if let Ok(resp) = res { if resp.status().is_success() { break; } }
}
tokio::time::sleep(tokio::time::Duration::from_millis(500)).await;
tokio::time::sleep(tokio::time::Duration::from_millis(10)).await;
attempts += 1;
if attempts % 10 == 0 {
eprintln!("[PROXY] Waiting for server to accept messages...");
@@ -132,7 +132,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
}
}
*post_url.write().await = String::new();
tokio::time::sleep(tokio::time::Duration::from_millis(500)).await;
tokio::time::sleep(tokio::time::Duration::from_millis(10)).await;
}
Err(_) => {
if let Some(ref cmd) = wake_cmd {
@@ -150,3 +150,5 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
Ok(())
})
}