ace -go
Go-based MCP server for codebase indexing and semantic search (Augment-compatible)
claude mcp add --transport stdio xiaoxu123195-ace-mcp-go bash -lc ./bin/acemcp
How to use
Ace-MCP-Go is a Go implementation of the Model Context Protocol (MCP) server. It provides a high-performance backend that indexes code repositories and offers semantic search capabilities to AI assistants like Claude, GPT, or Cursor. The server supports incremental indexing with SHA-256 deduplication, a web management interface, and a simple configuration flow that is automatically generated on first run. You can run the server in standard MCP mode (stdio) or with the integrated web admin UI to monitor logs, manage projects, and edit configuration. When integrated with clients, the server communicates over standard JSON-RPC via stdio or through its HTTP Web UI when enabled.
To use the server, start the binary (acemcp) from your build output. By default, the CLI will create a settings file at ~/.acemcp/settings.toml on first run. You can customize the API endpoint, token, indexing batch sizes, concurrency, and web server settings in that file. The server exposes an index manager that handles file collection, hashing, and batch uploads to an external API. In client applications, point your MCP client to the acemcp server’s endpoint and use the standard MCP messages to request code context, search results, and incremental updates.
How to install
Prerequisites:
- Go 1.21+ (as indicated by the project)
- Git
- A supported operating system (Windows, Linux, macOS, or WSL)
- A Go toolchain to build if you are compiling locally
Install steps:
-
Clone the repository git clone https://github.com/yourusername/ace-mcp-go.git cd ace-mcp-go
-
Install dependencies and build make install make build
-
Run the MCP server
- In standard MCP mode (stdio): ./bin/acemcp
- With web management UI: ./bin/acemcp --web-server
Notes:
- The first run will generate a default configuration at ~/.acemcp/settings.toml which you can edit to suit your environment.
- If you are integrating with Claude Desktop or other MCP clients, configure the client to point to the acemcp server as described in the README (under Claude Desktop integration).
Optional: for multi-platform builds, you can use make build-all to target Windows, Linux, and macOS binaries.
Additional notes
Tips and common issues:
- Ensure your API endpoint and token in the settings.toml are correct to enable proper indexing and API calls.
- If the web UI is enabled, ensure the host and port do not conflict with other services on the machine.
- For large codebases, adjust index.batch_size and index.max_lines to optimize memory usage and performance.
- The incremental indexing workflow relies on detecting file changes via SHA-256 hashing; ensure your repository permissions allow file reads for hashing.
- If you encounter build issues, run make fmt and make test to verify code quality and tests before building.
- When integrating with Claude Desktop, keep the acemcp path correct in claude_desktop_config.json and restart Claude Desktop after configuration changes.
Related MCP Servers
bitbucket
Bitbucket MCP - A Model Context Protocol (MCP) server for integrating with Bitbucket Cloud and Server APIs
mcp-memory-libsql
🧠 High-performance persistent memory system for Model Context Protocol (MCP) powered by libSQL. Features vector search, semantic knowledge storage, and efficient relationship management - perfect for AI agents and knowledge graph applications.
mcp-gopls
Model Context Protocol (MCP) server for Go using gopls – LSP-powered analysis, tests, coverage, and tooling.
mcp-zero
Model Context Protocol (MCP) server for go-zero framework - Generate APIs, RPC services, and models with AI assistance.
src-to-kb
Convert source code to LLM ready knowledge base
heuristic
Enhanced MCP server for semantic code search with call-graph proximity, recency ranking, and find-similar-code. Built for AI coding assistants.