Services and Deployment
ReMe can run as a local HTTP service, a standalone MCP server, or a one-shot CLI Job. The default starts HTTP on 127.0.0.1:2333 and serves JSON, SSE, streamable HTTP MCP, and optional ReMe Studio from one process.
HTTP API
reme start
reme start service.host=127.0.0.1 service.port=8181Regular Jobs become POST /<job-name>:
curl -s http://127.0.0.1:2333/search \
-H 'Content-Type: application/json' \
-d '{"query":"user preferences","limit":5}'Job arguments live at the request body's top level. A regular response follows the Response schema:
{"success": true, "answer": "...", "metadata": {}}Unhandled Step failures become unsuccessful responses.
Streaming and SSE
Jobs with backend: stream also use POST /<job-name>, returning text/event-stream. Error paths emit an error chunk and always terminate the stream. The default chat Job is streaming:
curl -N http://127.0.0.1:2333/chat \
-H 'Content-Type: application/json' \
-d '{"query":"Summarize my long-term preferences"}'MCP does not expose Stream Jobs.
MCP
The default HTTP service mounts streamable HTTP MCP at /mcp:
service:
backend: http
mcp_enabled: true
mcp_path: /mcp
mcp_stateless_http: falseFor a standalone MCP service:
reme start service.backend=mcp service.transport=stdio
reme start service.backend=mcp service.transport=sse service.port=2333
reme start service.backend=mcp service.transport=streamable-http service.port=2333MCP tools come from non-stream Jobs with enable_serve: true. Use service.jobs as an allowlist. injected_job_kwargs adds server-managed values that callers cannot override.
service:
backend: http
jobs: [search, read, traverse, auto_memory]
injected_job_kwargs:
tenant_id: local-user
tool_error_on_failure: trueReMe Studio
After installing reme-ai[web] or reme-ai[core], the default HTTP origin also serves Studio:
http://127.0.0.1:2333/Disable it with service.web_enabled=false or select a build with service.web_static_dir. Missing static assets do not prevent the Job API from starting.
One-shot Jobs
reme start job=search query="user preferences" limit=5This selects the one-shot CLI Service while retaining the normal Application, Component, and Job lifecycle.
Service discovery
reme find_remeOrdinary reme <action> commands prefer the running service's actual backend, host, port, and transport. They fall back to local configuration only when no service is discovered.
Security boundary
ReMe is local-first:
- the default binds to
127.0.0.1; - HTTP CORS allows any origin;
- Jobs may write, move, or delete files;
- the service layer has no general-purpose user authentication.
Do not expose the default service directly to the public internet. For remote access, place it on a controlled network or behind an authenticated TLS reverse proxy, apply access controls and request-size limits, and expose only necessary Jobs.
OpenAPI
FastAPI exposes the active endpoints through /docs, /redoc, and /openapi.json. The Studio SPA fallback preserves these reserved paths.