langflow-kb
# Langflow knowledge base
A read-only snapshot of a Langflow installation, served as an [MCP](https://modelcontextprotocol.io) server so an agent can **look up components and fields exactly** and **search the documentation by meaning** instead of answering from memory.
| Half | What it contains | Source |
|---|---|---|
| Component catalog | every component with its fields, types, accepted values and defaults — advanced fields included | `GET /api/v1/all` of a Langflow **1.11.1** instance, indexed 2026-08-01T18:22:39+00:00 |
| Documentation index | `docs.langflow.org` (stable version), split by heading and embedded with `text-embedding-3-small` | docs **1.11.0**, crawled 2026-08-01T16:29:22+00:00 |
Nothing here talks to a Langflow instance or to `docs.langflow.org`: the data ships inside the package. The only outbound call is the OpenAI embeddings API, made once per semantic search to embed the query.
This repository is **generated** by a script from a private source repository (commit `cc5172c`) and is never edited by hand. Each release is a commit plus a tag `vX.Y.Z`; this one is **0.2.0**.
## Requirements
- [`uv`](https://docs.astral.sh/uv/) on your `PATH`. It builds and runs the server; nothing else to install.
- `OPENAI_API_KEY` in the environment of the MCP client, **only** if you want `langflow_kb_search_docs`. The four catalog tools work without it, and the search tool tells you what is missing instead of failing silently.
## Install in Claude Code (plugin)
Registers the MCP server **and** the skill that teaches Claude when to query it:
```
/plugin marketplace add mavha/langflow-kb-dist
/plugin install langflow-kb@langflow-kb-dist
```
Or from the shell: `claude plugin marketplace add mavha/langflow-kb-dist && claude plugin install langflow-kb@langflow-kb-dist`.
Check with `/mcp` (server `langflow-kb` connected) and call `langflow_kb_status`. The server runs from the plugin's installed copy. The first start builds the package and fetches its dependencies (about 10 s, measured); after that `uv` serves it from cache and it starts in about a second, with no network.
To update: `/plugin update langflow-kb@langflow-kb-dist` after a new tag is published.
## Install in any MCP client
Run the server straight from this repository, pinned to a release tag:
```
uvx --from git+https://github.com/mavha/langflow-kb-dist@v0.2.0 kb-mcp
```
Claude Code without the plugin (no skill, tools only):
```bash
claude mcp add --scope user langflow-kb -- uvx --from git+https://github.com/mavha/langflow-kb-dist@v0.2.0 kb-mcp
```
Claude Desktop (`claude_desktop_config.json`), Cursor (`.cursor/mcp.json`) and most other clients take the same shape:
```json
{
"mcpServers": {
"langflow-kb": {
"command": "uvx",
"args": ["--from", "git+https://github.com/mavha/langflow-kb-dist@v0.2.0", "kb-mcp"],
"env": { "OPENAI_API_KEY": "sk-..." }
}
}
}
```
The first start clones, builds and fetches dependencies (about 10 s); afterwards `uv` serves it from cache. To update, change the tag.
## Tools
| Tool | Use it when | Needs |
|---|---|---|
| `langflow_kb_describe_component` | you know the component name and want all its fields, defaults and accepted values | — |
| `langflow_kb_search_fields` | you know a field name or a field type and want to know which components declare it | — |
| `langflow_kb_list_components` | you want to know what exists, optionally by category | — |
| `langflow_kb_search_docs` | the question is conceptual and no exact name is at stake (ask in English) | `OPENAI_API_KEY` |
| `langflow_kb_status` | something does not answer as expected: reports what is loaded, from which version and when | — |
Every tool accepts `response_format="json"` for machine-readable output. Every answer ends with its provenance (version and date): read it, because the data is a snapshot.
Matching in the catalog tools is **exact**. Since Langflow 1.11.1 most bundle components are named `ext:<bundle>:<Class>@official` (for example `ext:openai:OpenAIModelComponent@official`, not `OpenAIModel`); if an exact name finds nothing, list by category before concluding it does not exist. The bundled skill covers these edge cases.
## Limits
- **It is a snapshot.** Catalog and docs are frozen at the versions above. A newer Langflow may add, rename or remove components; `langflow_kb_status` tells you what you have.
- **Not re-indexable from here.** The `kb` CLI ships with the package, but `kb index`, `kb crawl` and `kb embed` are not supported in this distribution: they would write into the installed package. Re-indexing happens in the source repository, and the result is published as a new release.
- The documentation corpus is in English; queries in English retrieve measurably better.
## Provenance
- Langflow **1.11.1**, catalog indexed 2026-08-01T18:22:39+00:00
- docs **1.11.0**, crawled 2026-08-01T16:29:22+00:00
- generated from source commit `cc5172c`, release **0.2.0**
TDQS
Scored across 5 tools
Each tool targets a distinct operation: listing components by category, semantic doc search, exact component description, exact field-catalog search, and KB status. search_docs (meaning-based, docs) vs search_fields (exact match, catalog) are clearly differentiated by description, and list_components vs describe_component differ by scope.
All tools share the langflow_kb_ prefix and mostly follow snake_case verb_noun (list_components, search_docs, describe_component, search_fields). The lone noun-only 'status' is a minor deviation but still readable and predictable.
Five focused tools are well-scoped for a read-only knowledge-base server, each earning its place with no redundancy. This is squarely in the ideal 3-15 range.
The surface covers listing, semantic doc search, exact component/field lookup, and artifact status, providing coherent lifecycle coverage for a read-only KB. Minor gap: no direct tool to fetch a complete doc page beyond ranked passages, but URLs are returned to work around it.