-
Notifications
You must be signed in to change notification settings - Fork 11
Local Mode and MCP
Eva supports a local route built around LM Studio and direct local MCP servers. It is the right starting point when you want local inference, no cloud model credential, and tools that run as local stdio subprocesses.
- Install and start a model in LM Studio.
- Start its OpenAI-compatible server, usually at
http://localhost:1234/v1/chat/completions. - In Settings > Models, select an LM Studio model or use it as an AIG backend.
- In Settings > General, choose Local retrieval mode.
- Send a simple chat request before adding MCP tools.
Local SQLite memory remains available. Local inference does not require an OpenAI, GitHub, or Google API key.
In local mode, Eva calls the configured local model server and starts configured MCP servers directly. Its local agent loop can present tool schemas to LM Studio, execute returned tool calls, add the results, and continue until the model produces a final response. The loop has bounded iteration and timeout limits.
Eva auto-adds its built-in local web-search MCP server when it is not already configured. That server can search the web or fetch readable content without an API key, but network access and external-site policies still apply.
The Model Context Protocol (MCP) is a standard way for a model host to discover and call tools. In Eva, each local MCP server is an allowlisted subprocess that communicates with JSON-RPC over standard input/output.
Typical optional MCP uses include:
| Integration | Purpose | Prerequisite |
|---|---|---|
| Eva web search | Web search, news search, and readable URL fetch | Built in for local mode |
| Kusto | Azure Data Explorer queries and memory/data workflows | Azure authentication and Kusto configuration |
| GitHub | GitHub tools through configured MCP support | Docker and a scoped GitHub token where required |
| Azure | Azure tool access | Local Azure authentication |
| Project MCP | Tools declared by a coding repository | A bounded project-relative mcp.json or .mcp.json
|
Use Settings > MCP to configure the supported integrations and refresh
status. Custom configuration belongs in a local mcp.json or another local
configuration path, never in a wiki page or chat transcript with real secrets.
When importing a coding project, Eva discovers MCP definitions from bounded,
project-relative locations such as mcp.json, .mcp.json, .vscode/, and
.github/. Enabling one applies only to future coding-agent runs for that
project; it does not modify the global MCP configuration.
Use the least powerful tool set that can accomplish a task. A web-research task does not need a source-control or database MCP server attached to its model process.
Eva's local stdio transport supports modern MCP 2026-07-28 and legacy
2024-11-05 negotiation. It probes a new subprocess and, when a server only
accepts the legacy initialization era, starts a fresh process before retrying
the legacy handshake. This means an initial incompatibility message from an
older server can be a compatibility probe rather than a failed final setup.
Eva currently focuses on allowlisted local stdio tools. Remote HTTP transports, remote OAuth, and several wider MCP protocol surfaces are separate future work.
- The local model needs enough tool-calling ability to request tools correctly.
- Current web data is still network data even when the model inference is local.
- Browser automation, cloud memory, and configured provider services retain their own network and permission behavior.
- Interactive MCP inputs are surfaced as unavailable until their continuation behavior is supported.
- Confirm LM Studio is running and the configured endpoint is reachable.
- Verify the selected model supports the response format you expect.
- Start with no custom MCP servers, then add one server at a time.
- Open the MCP status in Settings and inspect the local diagnostic view.
- If a server fails during modern probing, confirm whether it expects legacy initialization before treating the first stderr line as the root cause.
For broader provider selection, see Models and Providers. For individual tool behavior and approval habits, see Abilities and Automation.
Eva AI Assistant is MIT licensed. This wiki documents the current standalone application and its optional integrations. Configuration values, credentials, workspace content, and generated artifacts remain local unless you choose to send them to a configured provider or service.
Start
Configure
Use Eva
Help and Build