About Probe Go
Probe Go is an MCP server published by EdmondFrank in the Developer Tools category: a Go-based Model Context Protocol (MCP) server for searching and extracting code using ElasticSearch and AST-grep, with support for code block extraction and advanced code queries.
The repository has 1 stars and 0 forks, with the last commit 4 months ago. Recent commit activity is the strongest signal that reported issues will get attention.
Install
git clone https://github.com/EdmondFrank/mcp-probe-goThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Probe Go
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 7 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
mcp-probe-go
A Go-based Model Context Protocol (MCP) server for searching and extracting code using ElasticSearch and AST-grep, with support for code block extraction and advanced code queries.
Features
- Search code in your repository using ElasticSearch queries.
- Query code using ast-grep structural pattern matching.
- Extract code blocks from files by line number or symbol name.
- Supports filtering, context lines, test code inclusion, and output formatting.
- Timeout protection — every probe invocation is bounded by a 2-minute global timeout; processes are killed and reaped on expiry.
Getting Started
Prerequisites
- Go 1.23+ installed
- probe-go-sdk and mcp-go dependencies
Build
cd cli
go build -o probe-mcp-server main.go
Run
./probe-mcp-server
The server will start and listen for stdio requests.
Usage
The server registers the following tools:
search_code: Search code using ElasticSearch queries.query_code: Search code using ast-grep patterns.extract_code: Extract code blocks by line or symbol.
Each tool exposes a set of arguments for flexible code search and extraction. See the code for details on each tool's options.
Timeout
Every probe CLI invocation made through the MCP tools is bounded by a global 2-minute timeout. When the timeout expires, the probe process receives SIGTERM (graceful shutdown). If it does not exit within 5 seconds, it is force-killed with SIGKILL. The child process is always reaped — no zombies are left behind.
| Setting | Value | Description |
|---|---|---|
DefaultMCPTimeout |
2 * time.Minute |
Applied to every probe invocation |
MCP_PROBE_TIMEOUT |
env var | Override the timeout (e.g. 30s, 5m; 0 disables) |
# Use default 2-minute timeout
./probe-mcp-server
# Override to 30 seconds
MCP_PROBE_TIMEOUT=30s ./probe-mcp-server
# Disable timeout entirely
MCP_PROBE_TIMEOUT=0 ./probe-mcp-server
Timeout errors are reported distinctly so callers can distinguish resource-exhaustion from ordinary failures.
Development
- Main server logic is in
main.goandcli/main.go. - Tool handlers are in
search_code.go,query_code.go, andextract_code.go. - Uses the mcp-go server framework.
License
MIT License. See LICENSE for details.
README fetched from the repository 7 days ago. The original is authoritative.