Skip to content

Glossary

Compact lookup for MFS terms and identifiers. Use this page to decode CLI, API, configuration, search, and connector examples, then follow the linked source page for the full workflow.

Source Of Truth

Need Start here Also verify in
First local run and success checkpoints Quickstart Troubleshooting
Exact command shape and flags CLI Reference cli/src/main.rs
Search result fields and reopen patterns Search and Browse HTTP API, server/python/src/mfs_server/api/models.py
Connector targets and TOML Connectors per-connector pages, server/python/src/mfs_server/connectors/registry.py
Server/CLI config, env vars, and local files Configuration Architecture, server/python/src/mfs_server/config.py
API endpoints, schemas, and errors HTTP API protocol/openapi.yaml, protocol/errors.md

Identifiers

Term Meaning Common shape Go next Verified in
Source URI User-facing URI for a searchable or browsable source/object. In search JSON, use the returned source instead of reconstructing it. file://local/tmp/mfs-quickstart/README.md Search and Browse ResultEnvelope.source
Connector Server-side plugin plus registered state for one source tree. Connectors expose sources as URI trees. file, web, postgres, slack Connectors connectors/registry.py
Connector URI / root URI Registered source root. /v1/status exposes it as connectors[].root_uri. Scope search, ls, tree, and cat to this root or a child; remove the connector by its registered root. postgres://prod-db, web://docs, file://local/abs/root Connectors ConnectorRow.root_uri
Object URI / source field Full object identity returned from search/grep/list/read surfaces. Feed it back to cat, head, tail, or export. postgres://prod/public/tickets/rows.jsonl Search and Browse ResultEnvelope.source, LsEntry.path
Locator Per-hit identity inside an object. Text/code/document hits use {"lines":[start,end]}; structured hits use connector key fields. Copy it back to cat --locator. {"lines":[42,78]}, {"id":12345} Search and Browse ResultEnvelope.locator
Local canonical file URI Same-host local paths resolve to a file connector root with the local authority. file:///abs/path is treated as a local path target. file://local/tmp/repo CLI Reference Engine._resolve_target
Upload connector URI Upload mode gives a local client tree a stable logical file URI based on client_id and the client absolute root. file://<client_id>/abs/root Deployment ManifestResponse.connector_uri
Endpoint Server base URL selected by the CLI before it calls /v1 paths. http://127.0.0.1:13619 Configuration base_url()
Namespace Active server namespace. It defaults to default, appears in /v1/server/info, and scopes metadata/cache/Milvus records. default Architecture ServerInfo.namespace

Internal object URI detail

Public docs use source or path for the full object identifier. Internally, the metadata DB stores objects.object_uri as connector-relative, while Milvus search rows store the full object URI.

Search And Browse Fields

{
  "source": "file://local/path/to/repo/README.md",
  "content": "Release checklist...",
  "score": 0.82,
  "locator": {"lines": [10, 18]},
  "metadata": {
    "kind": "search",
    "chunk_kind": "body",
    "fields": {}
  }
}
Term Meaning Values or shape Go next Verified in
Result envelope One search hit. The stable outer fields are source, content, score, locator, and metadata. SearchResponse.results[] HTTP API ResultEnvelope
metadata.fields Connector-provided side fields copied from configured or preset metadata_fields. Use for quick inspection, not as proof without reopening the object. Object/map Connectors metadata.fields
Chunk kind Index chunk category used by search filtering and result metadata. Current examples include body, row_text, thread_aggregate, directory_summary, schema_summary, and vlm_description. metadata.chunk_kind, --kind body,row_text Search and Browse chunk_kind
search_status Per-entry index state returned by mfs ls PATH --json. null means the entry was listed but no object metadata row exists. indexed, partial, not_indexed, null Troubleshooting LsEntry.search_status
Search availability Source-level search readiness values documented with errors; do not confuse them with ls entry values. available, partial, building, unavailable Troubleshooting protocol/errors.md
via Grep match route. It helps explain whether a match came from connector pushdown, BM25, linear scan, or a notice. pushdown, bm25, linear, notice Search and Browse GrepMatchModel.via
--all Search the whole namespace instead of one scoped path. Use when you do not know which registered source contains the answer. mfs search "quota" --all CLI Reference Cmd::Search.all
--json Global CLI flag for raw JSON output. Use it when you need source, locator, metadata, via, search_status, or raw API fields. mfs --json search "query" PATH CLI Reference Cli.json

Ingest, Jobs, And Upload

Term Meaning Values or shape Go next Verified in
Target Path or connector URI sent to add/probe/estimate. AddRequest.target HTTP API AddRequest.target
Job Stored ingest/sync operation for a connector. Add, upload, and connector update return a job id. JobResponse CLI Reference connector_jobs
Job id Identifier returned as job_id; poll with mfs job show JOB_ID or GET /v1/jobs/{job_id}. Hex string HTTP API AddResponse.job_id
Job status Current status is modeled as an open string. Current stored values include preparing, queued, running, succeeded, failed, and cancelled. JobResponse.status Troubleshooting connector_jobs.status
Upload mode Client-side path transfer for servers that cannot read the client path directly. The manifest step sends stats; upload sends changed bytes. --upload, --force-upload, --no-upload Deployment /v1/files/manifest, /v1/files/upload
--force-index / --full Force a full re-index by ignoring caches/fingerprints. --full is the visible alias. mfs add --force-index PATH CLI Reference Cmd::Add.force_index
--force-upload Re-send every file and force a full re-index in upload mode. mfs add --force-upload PATH Troubleshooting upload_path(... resend_all)
--no-upload Force shared-filesystem mode: the server reads the path directly. mfs add --no-upload PATH Troubleshooting Cmd::Add.no_upload
Connector estimate Zero-billing pre-flight for external targets when mfs add would otherwise prompt. It estimates objects, chunks, and tokens without embedding API calls. /v1/connectors/estimate Connectors EstimateResponse

Client And Server Configuration

Term Meaning Default or precedence Go next Verified in
MFS_HOME Root for local CLI/server files. The server creates it when resolving defaults. ~/.mfs; Docker/Compose docs use /data Configuration mfs_home()
Profile Local CLI endpoint record in $MFS_HOME/client.toml. Profiles have a name, URL, optional token, and one active profile. mfs profile add prod URL --token env:MFS_API_TOKEN CLI Reference ClientConfig.profiles
Endpoint precedence How the CLI chooses the server base URL. MFS_API_URL -> active profile URL -> http://127.0.0.1:13619 Configuration base_url()
Bearer token Authorization: Bearer <token> for /v1 when server auth is enabled. CLI fallback is client behavior, not an HTTP API requirement. MFS_API_TOKEN -> profile token -> $MFS_HOME/server.token HTTP API _auth, auth_token()
Server config lookup How mfs-server loads server.toml. --config -> MFS_SERVER_CONFIG -> ./server.toml -> $MFS_HOME/server.toml -> ~/.mfs/server.toml -> /etc/mfs/server.toml -> defaults Configuration load_server_config()
Connector TOML File loaded by CLI --config and sent as the API config object. Structured sources commonly use [[objects]]. text_fields, locator_fields, metadata_fields Connectors AddRequest.config

Storage And Indexing

Term Meaning Local default Go next Verified in
Metadata database Relational state for connectors, objects, jobs, tasks, connector state, and file upload state. SQLite is the local default; Postgres is configurable. $MFS_HOME/metadata.db Configuration storage/metadata/base.py
Artifact cache Per-object derived blobs used by read paths, such as converted document markdown and image descriptions. $MFS_HOME/cache Architecture storage/artifact_cache.py
Transformation cache Content-addressable memoization for convert, embedding, VLM, and summary results. Losing it costs recompute, not correctness. $MFS_HOME/transformation_cache.db Configuration storage/transformation_cache/
Milvus / Milvus Lite Chunk index for dense vectors and BM25 sparse vectors. Local default is Milvus Lite; remote Milvus or Zilliz is configured by URI/token. $MFS_HOME/milvus.db Configuration storage/milvus.py
Chunk record Row written to Milvus for a searchable unit. It carries namespace, connector URI, object URI, locator, content, dense/sparse vectors, chunk kind, metadata, and timestamp. Milvus collection row Architecture MilvusStore._build_schema
Artifact kind Named cache blob for one object. Current read paths use converted markdown, image/VLM text, and structured head cache. converted_md, vlm_text, head_cache Architecture Engine._put_artifact

Errors

{
  "code": "object_too_large_for_cat",
  "detail": "...",
  "suggestions": ["head", "cat --range", "export"]
}
Term Meaning Use it with Go next Verified in
Error envelope Runtime API error shape. Clients should switch on code, not parse detail. CLI non-2xx output, SDK/API integrations HTTP API ErrorResponse, _http_exc
Canonical error code Stable /v1 error identifier documented by current protocol docs. not_found, validation_error, locator_not_found Troubleshooting protocol/errors.md
Suggestions Short recovery hints returned with selected error codes and printed by the CLI as try: .... object_too_large_for_cat, is_directory Troubleshooting _CODE_SUGGESTIONS