mfs-find
Search, grep, browse, and read across registered MFS data sources via the `mfs` CLI — codebases, docs, PDFs, web crawls, databases…
Skill by zilliztech
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/zilliztech-mfs-find
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, cloud, data, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/mfs-find
What's inside
- Skill name
mfs-find- Description
- Search, grep, browse, and read across registered MFS data sources via the `mfs` CLI — codebases, docs, PDFs, web crawls, databases (postgres/mysql/mongo/snowflake/bigquery), issue trackers (jira/linear/github), CRMs (hubspot), chat (slack/discord/gmail/feishu), object stores (s3/gdrive). Use whenever the user asks to find, locate, look up, look across, or read something out of an already-configured MFS index. Trigger phrases include "search the codebase for", "find anywhere about", "where is X mentioned", "look across our [slack/jira/postgres/etc]", "any past tickets/RFCs/commits about", "what does our wiki say about", "cat / head / tail / ls / tree this MFS path". Do NOT use for: registering a NEW data source (use `mfs-ingest`), changing connector config, kicking off re-ingest, or any write/delete operation — `mfs` is read-only.
- License
- Apache-2.0
- Instructions
- 356 lines in SKILL.md · view on GitHub
Files (22)
- SKILL.md
- bigquery.md · reference/connectors/
- discord.md · reference/connectors/
- feishu.md · reference/connectors/
- file.md · reference/connectors/
- gdrive.md · reference/connectors/
- github.md · reference/connectors/
- gmail.md · reference/connectors/
- hubspot.md · reference/connectors/
- jira.md · reference/connectors/
- linear.md · reference/connectors/
- mongo.md · reference/connectors/
- mysql.md · reference/connectors/
- notion.md · reference/connectors/
- postgres.md · reference/connectors/
- s3.md · reference/connectors/
- slack.md · reference/connectors/
- snowflake.md · reference/connectors/
- web.md · reference/connectors/
- zendesk.md · reference/connectors/
- error-codes.md · reference/
- json-envelope.md · reference/
SKILL.md (first lines)
# MFS — find / read across configured sources
## 1. What MFS is
A retrieval layer that exposes many kinds of content as a unified path
tree and makes that tree searchable through one hybrid index:
- **One CLI (`mfs`), one mental model.** Local dir, Postgres, GitHub repo,
Slack workspace, S3 bucket, BigQuery dataset — all addressed as paths
under their `<scheme>://` URI. Same verbs everywhere: `ls / tree / cat /
head / tail / grep / search / export`.
- **One hybrid index.** Dense vectors (semantic) + BM25 (keyword) fused
per query — covers conceptual recall and exact-token recall in one call.
- **POSIX-style locators.** Every search hit carries a `locator` that
reopens the exact unit: `{"lines":[s,e]}` for text/code, a PK dict for
rows/issues/threads.
## 2. When to use MFS — and when NOT to
| Situation | Use MFS? |
|---|---|
| 1000+ files / rows / pages, you don't know where the answer is | ✅ |
| Cross-source question ("any past tickets / commits / RFCs about X") | ✅ `--all` |
| Concept-style query that won't match literally | ✅ `--mode semantic` |
| You already know the exact file + roughly where to look | ❌ plain `cat`/`grep` |
| Exact identifier / error code in 5 files you can list | ❌ plain `grep`/`rg` |
| Real-time tailing of a live log | ❌ index lags ingest |
| The source isn't in MFS yet | wrong skill, use `mfs-ingest` to register first |
**Rule:** use the smallest tool that answers the question. MFS pays off
when the scope is too big for `rg`.
**Borderline — ASK the user:**
| Ask | Likely answer | Why |
|---|---|---|
| "Summarise these 10 PDFs" | ✅ `mfs search` + `cat --peek` per hit | each PDF gets a `converted_md` artifact + searchable chunks |
| "Find similar tickets to this one" | ✅ paste the ticket text as the search query | semantic over `row_text` does similarity matching |
| "Watch for new slack messages" | ❌ no `watch` capability; use Slack's API | index lags ingest |
| "Look up user 12345" | ❌ `mfs cat <source> --locator '{"id":12345}'` directly (skip search) | one-record-by-id doesn't need ranking |
## 3. Pre-flight — confirm the source is indexed
Before running any query, especially on cross-source asks:
```bash
mfs status # server up? any connectors registered?
mfs connector inspect <uri> # this connector's object/job summary
mfs ls <uri> --json # per-entry capabilities + indexable / search_status
```
- Server unreachable → tell user to start it (`mfs serve start` if
self-hosted), or this skill can't proceed.
- `connectors` empty → user hasn't ingested anything yet. **Redirect to
`mfs-ingest`** — don't try to search nothing.
- `search_status: unavailable` for the target URI → only `grep` / `ls` /
`cat` work; offer those or redirect to `mfs-ingest` for a re-sync.
- `building` → sync in flight; fall back to `mfs grep` (works without an
index) until done.
- `partial` → recall incomplete but usable; flag the caveat to the user.
## 4. The core workflow: search → locate → browse
```
search locate browse
┌──────────────────┐ ┌──────────────────┐ ┌─────────────────────┐
│ semantic + BM25 │ → │ result has lines │ → │ cat --range / cat │
│ finds candidates│ │ or a locator │ │ --peek to confirm │
└──────────────────┘ └──────────────────┘ └─────────────────────┘
```
On large corpora this loop is the whole point: read only the part that
matters. On small corpora it's still fine, just lighter.
Concrete:
1. **Search:**
```bash
mfs search "<what the user actually wants>" <path-or-uri> --top-k 10
```
2. **Locate** — every hit's envelope carries `locator`:
- text/code → `{"lines":[start,end]}` → `mfs cat <source> --range start:end`
- structured (row/issue/thread) → PK dict → `mfs cat <source> --locator '{...}'`
- once-per-object (dir/schema summary, image VLM) → `null` → `mfs cat <source>`
3. **Browse** — verify only what's needed:
```bash
mfs cat --peek <file> # outline (headings / function signatures)
mfs cat --skim <file> # peek + one-line summaries per section
mfs head -n 20 <uri> # first records of a structured object
mfs tree <uri> -L 2 # subtree shape
```
## 5. Index requirement rules of thumb
- `mfs search` **requires** an index.
- `mfs grep` works **without** — pushdown → BM25 → linear scan fallback.
- `mfs ls / tree / cat / head / tail` browse **without** an index.
## 6. Search modes
`mfs search` defaults to `hybrid`. Override only when you know why.
| `--mode` | Mechanic | When |
|---|---|---|
| **`hybrid`** *(default)* | dense + BM25 fused with RRF | almost always |
| `semantic` | dense only | conceptual query, wording won't match literally |
| `keyword` | BM25 only | exact-term (config key, error code) without semantic drift |
Other useful flags:
- `--top-k N` — default 10; raise to 20-30 on a weak first round.
- `--all` — search every registered connector. Otherwise scope to a path/URI prefix.
- `--kind <list>` — restrict chunk kinds (`row_text`, `thread_aggregate`,
`body`, `summary`, `vlm_description`, …).
- `--collapse` — keep only the top-scoring chunk per object; later chunks
from the same source are dropped, not merged. Recall stays as-is (the
query still hits the same candidates), but the visible result count can
fall below `--top-k` — collapse is a post-filter, not a re-rank. If you
want N distinct objects, raise `--top-k` (e.g. `--top-k 30 --collapse`).From zilliztech/mfs, Apache-2.0.
More from zilliztech/mfs
- 0.740score
open-tag-admin
zilliztech
Admin/control console for an Open Tag Slack tag-in workflow backed by MFS.
SkillBFreshness: B★ 157Claude Code +9 - 0.738score
deep-research
zilliztech
Answer a broad, open-ended, or multi-part question by iteratively searching MFS-indexed sources, following up on gaps, and synthesizing a cited report — the…
SkillBFreshness: B★ 157Claude Code +9 - 0.738score
mfs-ingest
zilliztech
Register, update, or re-sync data sources for MFS so they become searchable — postgres / mysql / mongo / snowflake / bigquery, github / jira / linear / notion…
SkillBFreshness: B★ 157Claude Code +9
Signals
- Stars
- 157
- Forks
- 18
- Open issues
- 4
- Last commit (this folder)
- Jun 23, 2026 (4 months ago)
- Last release
- Jul 31, 2026 (3 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/zilliztech/mfs
- Website
- zilliztech.github.io/mfs/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from zilliztech
- 0.740score
open-tag-admin
zilliztech
Admin/control console for an Open Tag Slack tag-in workflow backed by MFS.
SkillBFreshness: B★ 157Claude Code +9 - 0.738score
deep-research
zilliztech
Answer a broad, open-ended, or multi-part question by iteratively searching MFS-indexed sources, following up on gaps, and synthesizing a cited report — the…
SkillBFreshness: B★ 157Claude Code +9 - 0.738score
mfs-ingest
zilliztech
Register, update, or re-sync data sources for MFS so they become searchable — postgres / mysql / mongo / snowflake / bigquery, github / jira / linear / notion…
SkillBFreshness: B★ 157Claude Code +9 - 0.576score
CLAUDE.md · zilliztech/claude-context
zilliztech
CLAUDE.md from zilliztech/claude-context: 92 lines covering Overview, Monorepo Layout, Commands, Architecture and more.
TemplateCFreshness: C★ 12.6KClaude Code
Cite this page
mfs-find skill. Agent Mart. https://agentmart.dev/skills/zilliztech-mfs-find (last updated 2026-10-24)