About PasClaw
PasClaw is an MCP server in the RAG category: ultra-lightweight native AI agent framework written entirely in Object Pascal for Delphi and Free Pascal, designed for performance, portability, and extensibility.
Install
git clone https://github.com/FMXExpress/PasClawThis 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.
Tools (15)
MCP-bridgedevery tool a configured MCP server exports — see below
Parameters not published.
apply_patchmulti-file, context-anchored patch (Codex/OpenClaw format: add/update/delete/move in one atomic call)
Parameters not published.
cronmodel-scheduled background jobs (opt-in via `cron_tool_enabled`)
Parameters not published.
delphi_buildself-registers only when RAD Studio is found on the host
Parameters not published.
edit_file`old_text`→`new_text` string replacement (default); optional hashline `patch` mode for line-anchored, hash-verified edits
Parameters not published.
execute_coderun a code snippet (Python / JS / Bash / …) through the active shell backend; can call back into PasClaw tools via the `__tool` RPC channel
Parameters not published.
grep_filesrecursive substring search, returns line-numbered matches
Parameters not published.
memory_fetchfetch a URL and write it to `workspace/memory/` for later recall (body never enters context); gated on `web_fetch_enabled`
Parameters not published.
memory_searchSQLite FTS5 BM25 over `workspace/memory/*.md` and `MEMORY.md` (including `fetched-*.md` written by `memory_fetch`). When `vector_search_enabled` is on (default yes), the hybrid backend in `src/pkg/memory/PasClaw.Memory.Vector.pas` runs a local sentence-transformer embedder (MiniLM by default — embeddings never leave the host) over the same notes, fuses keyword + vector ranks via Reciprocal Rank Fusion, and falls back to FTS-only silently when the runtime artifacts (sqlite-vec extension, ONNX Runtime, model weights) aren't yet provisioned under `$PASCLAW_HOME/cache/localvector/`.
Parameters not published.
send_messagepost a message to a named, operator-configured channel mid-task (progress updates, alerts) — Discord / Slack / Teams / generic webhook / LINE / WhatsApp, same senders `pasclaw post` uses. Registers only when `config.json` declares `"channels": [{"name","kind","target"}]`; the model addresses channels strictly by name, so it can only reach endpoints the operator pre-declared (no model-supplied URLs)
Parameters not published.
Show all 15 tools
session_searchSQLite FTS5 BM25 over the full text of every saved session under `workspace/sessions/`. Searches PAST conversations, not just the current one — returns session id + title + snippet + score with a `pasclaw resume <id>` hint. Index at `workspace/sessions/.search.db`, lazily rebuilt (reindexes a session only when its `UpdatedAt` advances). Gateway stat buckets excluded.
Parameters not published.
shell_exec`/bin/sh -c` (or `cmd.exe`), output capped at 1 MiB, denylist-gated
Parameters not published.
skill_<name>Pascal-side tools registered from `kind: shell` / `kind: prompt` skills
Parameters not published.
web_fetchHTTP GET → readable plain text (HTML stripped, entities decoded), SSRF-guarded
Parameters not published.
web_searchDuckDuckGo / Brave / Tavily / SearXNG / Perplexity / Gemini-grounding — 6 providers
Parameters not published.
Ask AI
Ask AI about PasClaw
Powered by Claude · Grounded in docs
Security checks
6 checks have not been run yet.