Flagsmith MCP server: 37 tools, 36 undescribed
A generated server the vendor never finished publishing, what its empty tool descriptions do to an agent, and what to use instead.
Last verified 1 September 2026 · from Flagsmith's repository and the server's own tools/list response, built from source
This page is one of 90 in a directory of monitoring and developer tools. Each page checks what an AI coding agent can get out of the tool through its MCP server, the connector that lets the agent query the tool directly.
Summary
The Flagsmith MCP server sits in Flagsmith's own GitHub organization, generated by the Speakeasy code generator from the Flagsmith API specification. Built from source it registers 37 tools covering flags, segments, environments, projects and release pipelines.
It was never finished. The repository has no releases and no tags, nothing was published to npm, and the README still carries the generator's own instruction: "Delete this notice before publishing to a package manager."
The tools show the same. 36 of the 37 carry a completely empty description, and eight names end in a three-character hash such as mcp-api-v1-environments-features-versions-3b3.
What is the Flagsmith MCP server?
It is a server for the Model Context Protocol. Flagsmith is a feature-flag platform, so a working connector would let an agent read and change flags without opening the dashboard.
This one was generated rather than written. Every tool maps to one Flagsmith REST endpoint, and the names are the endpoint paths with slashes replaced: mcp-api-v1-projects-features-list, mcp-api-v1-projects-segments-create, and so on.
Two endpoints can produce the same tool name. The generator then appends a hash to keep them apart. That is why mcp-api-v1-environments-features-versions-3b3, -e40 and -34b sit next to each other with nothing to tell them apart.
Flagsmith is a release tool, so it sits in CI and release, and reaches nothing in code review, production observability, agent observability or cost.
| Part of the work | What Flagsmith has here | Can an agent reach it |
|---|---|---|
| Code, tests & review | Code references | Partial. Barely. One tool retrieves code references for a feature, and it is the only tool on the server with a description |
| CI & release | Flags, segments, environments, release pipelines | Partial. This is the product's purpose and it is reachable in principle, but the tools cannot be chosen reliably without descriptions |
| Production observability | Feature health events | Partial. One tool lists feature health events; there are no metrics, logs or traces |
| Agent observability & evals | None | No traces, evaluations or prompt versioning for your own agents |
| AI cost management | None | No spend data of any kind |
For an agent, the tools reach everything and explain nothing. The endpoints behind these 37 tools are the same ones the Flagsmith API exposes, and the API documents them. The server strips that documentation out, so the agent gets the reach without the instructions.
What can an AI agent do with Flagsmith?
| Task | Tools | Works | Watch out for |
|---|---|---|---|
| List the flags in a project | mcp-api-v1-projects-features-list | Yes | No description tells the agent what this returns or what it accepts |
| Create or change a flag | mcp-api-v1-projects-features-create mcp-api-v1-projects-features-update | Yes | Both write, and neither carries a description |
| Work with segments | mcp-api-v1-projects-segments-list mcp-api-v1-projects-segments-create mcp-api-v1-projects-segments-update | Yes | Names are endpoint paths, so the agent has to infer intent from them |
| Find code references for a flag | mcp-api-v1-projects-features-code-references-f2e | Yes | The only tool on the server with a description, and its name still ends in a hash |
| Inspect environment feature versions | mcp-api-v1-environments-features-versions-list mcp-api-v1-environments-features-versions-3b3 | Yes | Four tools share this prefix and differ only by a three-character hash |
| Review a change request | mcp-api-v1-projects-change-requests-list mcp-api-v1-environments-create-change-request-create | Yes | Creating a change request writes; listing does not |
| Know which tool to call | No | With 36 empty descriptions, this is the job the server does not do |
Every row above is reachable and none is guided. The Flagsmith REST API documents these endpoints properly. An agent with the API and a fetch tool is better informed than one with this server.
37 tools registered, all on by default, 36 with an empty description
- Projects3
mcp-api-v1-projects-retrievemcp-api-v1-projects-environments-retrievemcp-api-v1-organisations-projects-retrieve- Features3
mcp-api-v1-projects-features-listmcp-api-v1-projects-features-retrievemcp-api-v1-projects-features-code-references-f2e- Segments2
mcp-api-v1-projects-segments-listmcp-api-v1-projects-segments-retrieve- Environments2
mcp-api-v1-environments-listmcp-api-v1-environments-features-versions-list- Organization3
mcp-api-v1-organisations-listmcp-api-v1-organisations-groups-listmcp-api-v1-organisations-roles-list- Writing4Write
mcp-api-v1-projects-features-createmcp-api-v1-projects-features-updatemcp-api-v1-projects-segments-createmcp-api-v1-projects-update
Groups are a reader's map inferred from the endpoint paths, because the server supplies no categories and almost no descriptions. 11 of the 37 names contain a writing verb. The groups name 21 of them, chosen to show the shape of each path. Counted on 24 August 2026 from a build of the repository.
What connecting costs before the first question
A context window is the amount of text a model can hold at once, and connecting uses some of it before the agent asks anything. Every tool the server registers sends its name, description and input schema to the model when the session starts. The tool list is charged whether or not a single tool is called.
37 tools cost between 11,213 and 20,671 tokens, which is 5.6% to 10.3% of a 200,000-token window.
All of that is schema. Descriptions average 2 characters across the 37, because only one tool has any description at all; input schemas average 1,073.
| Tool set | Tools | Tokens (GPT-5.6, GPT-5.5) | Tokens (GPT-4, GPT-3.5) | Tokens (Claude Haiku 4.5 to Opus 5) | Share of a 200,000-token window |
|---|---|---|---|---|---|
| Every tool, as registered | 37 | 11,624 to 18,896 | 11,213 to 18,831 | 15,965 to 20,671 | 5.6% to 10.3% |
Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted 24 August 2026 from tools/list on the server built from the repository at its 13 March 2026 state. The server ran locally with a placeholder token.
Registration is static, so no Flagsmith account was involved. Figures cover name, description and input schema. The two models in column one share the o200k_base encoding, so they get one count. The spread is formatting, about 63%. Reasoning tokens are output, spent per request. The tool list is input, charged once at connection.
The Claude figures are measured rather than encoded. Anthropic publishes no local tokenizer, so the definitions were sent to the API's count_tokens endpoint and a no-tools baseline subtracted. The range covers two tokenizer generations rather than two serializations. Haiku 4.5 and Opus 4.6 sit at the low end, Opus 5 and Sonnet 5 at the high end. The gap between them is about a third.
Flagsmith MCP server limits: where answers come back incomplete
Every limit below comes from a generated server that was never edited after generation.
The agent says: “I am not sure which tool to use.” 36 of the 37 have no description.
A tools/list capture on 24 August 2026 returned 37 tools, of which 36 have a description of length zero. The one exception is mcp-api-v1-projects-features-code-references-f2e, at 72 characters.
A model chooses a tool from its name and description. Here it has only the name, which is a REST path with the slashes removed.
Guard: Name the exact tools in your prompt, or register a narrow set with repeated --tool flags, and treat tool choice as your job rather than the model's.
The agent says: “I called the versions tool.” There are four, differing by a hash.
mcp-api-v1-environments-features-versions-list, -3b3, -e40 and -34b all exist. The generator appends a three-character hash when endpoint paths collapse to the same name.
Nothing in the name or the empty description distinguishes them.
Guard: Require the agent to quote the full tool name, hash included, in any answer.
The README still tells the maintainer to delete its own notice before publishing.
The README carries the generator's boilerplate. It says the server "is not yet ready for production use", then "Delete this notice before publishing to a package manager."
The repository has 0 releases and 0 tags, and nothing was published, so the notice is still accurate.
Guard: Treat this as unreleased software. Pin your own clone to a commit you have read, or use the REST API instead.
How to configure Flagsmith MCP for agents
- 1
Decide whether to run an unpublished server at all
There is no release, no tag and no package, so what you run is whatever the default branch contained on the day you cloned it.
- 2
Expect no guidance from the tools
36 of 37 descriptions are empty, so any reliability has to come from your own prompt naming the tools you want used.
- 3
Treat the writing tools carefully
11 names contain
create,updateordestroy, and none of them explains what it changes. - 4
Consider the REST API instead
Flagsmith documents the same endpoints properly, which is more than this server passes on.
Paste this into your agent’s instructions
With no descriptions and hashed names, an agent cannot explain why it picked a tool. The block below makes it name the tool it called.
When you answer using Flagsmith MCP tools, state: - The exact tool name you called. Several differ only by a three-character hash at the end. - The project or environment the answer covers. - Whether the tool changed a flag, segment or project. Names containing create, update or destroy write. Never state that data does not exist. State that the tool above returned no results. Write your answer in ASD-STE100 Simplified Technical English. Use short sentences with one idea in each.
Do you need the MCP server at all?
Yes, and here the alternative is better documented than the connector. Flagsmith's REST API describes the same endpoints with parameters and examples, which is exactly what this server strips out.
An agent with a fetch tool and the API reference can do everything these 37 tools do, and can read what each endpoint expects.
If you want a flag connector that is written rather than generated, LaunchDarkly publishes one with descriptions on every tool.
Use the Flagsmith REST API. Reach for this server only if you intend to maintain your own build of it.
Flagsmith MCP server setup
There is nothing to install from a registry. Clone the repository, install its dependencies and build it, then run the built entry point.
The server takes a subcommand: start --transport stdio for a local client. Running the binary with no subcommand prints usage and exits.
Claude Code
The path is to your own build, because nothing is published. The Flagsmith token is passed with --token-auth.
claude mcp add-json "flagsmith" '{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js",
"start","--transport","stdio",
"--token-auth","<your-token>"]}'Cursor
In ~/.cursor/mcp.json. Again the path is your build; the token authorizes the API calls.
{"mcpServers":{"flagsmith":{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js",
"start","--transport","stdio",
"--token-auth","<your-token>"]}}}Codex CLI
Codex reads TOML, so the JSON blocks above will not transfer. The token still applies.
[mcp_servers.flagsmith]
command = "node"
args = ["/path/to/flagsmith-mcp/bin/mcp-server.js",
"start", "--transport", "stdio",
"--token-auth", "<your-token>"]Every other client
Each block below is the configuration for one client, with the file path and the key that client expects.
Claude Desktop
macOS ~/Library/Application Support/Claude/claude_desktop_config.json. Windows %APPDATA%\Claude\claude_desktop_config.json. There is no CLI. Edit through Settings, Developer, Edit Config.
Quit and restart fully for changes to load. Paths in args must be absolute. Logs at ~/Library/Logs/Claude/mcp.log.
{"mcpServers":{"flagsmith":{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js","start","--transport","stdio","--token-auth","<your-token>"]}}}Gemini CLI
~/.gemini/settings.json globally, or .gemini/settings.json per project. Key mcpServers. CLI: gemini mcp add.
{"mcpServers":{"flagsmith":{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js","start","--transport","stdio","--token-auth","<your-token>"]}}}VS Code Copilot
.vscode/mcp.json per workspace, or your user profile. CLI: code --add-mcp.
{"servers":{"flagsmith":{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js","start","--transport","stdio","--token-auth","<your-token>"]}}}The key is `servers`, not `mcpServers`. VS Code is the only client that uses that name, and copying a config from anywhere else fails silently.
Windsurf
~/.codeium/windsurf/mcp_config.json, which is the path Windsurf documents. Key mcpServers, the same JSON shape as Cursor, carrying the same credential.
Zed
~/.config/zed/settings.json, carrying the same credential as the blocks above.
The key is `context_servers`. Zed does not call them MCP servers in config, so searching its settings for mcp finds nothing.
Google Antigravity
~/.gemini/config/mcp_config.json globally, or .agents/mcp_config.json per project. Key mcpServers. There is no CLI. Use the /mcp overlay in the editor. Supports stdio, streamable HTTP, SSE and websocket.
{"mcpServers":{"flagsmith":{"command":"node",
"args":["/path/to/flagsmith-mcp/bin/mcp-server.js","start","--transport","stdio","--token-auth","<your-token>"]}}}Amp (Sourcegraph)
~/.config/amp/settings.json or .amp/settings.json, carrying the same credential. The amp mcp CLI covers approve, doctor and oauth.
The key is `amp.mcpServers`, namespaced. A bare mcpServers block is ignored.
Cline
~/.cline/mcp.json per the docs. The source also reads ~/.cline/data/settings/cline_mcp_settings.json. Key mcpServers, standard JSON shape, carrying the same credential. Supports stdio, streamable HTTP and SSE.
Goose (Block)
~/.config/goose/config.yaml, carrying the same credential.
YAML, and servers are called `extensions`. Goose does not use the MCP vocabulary in config at all. Add one interactively with goose configure, or per session with goose session --with-extension.
Kiro (AWS)
.kiro/settings/mcp.json per workspace, or ~/.kiro/settings/mcp.json globally. Key mcpServers, standard JSON shape, carrying the same credential.
Warp
~/.warp/.mcp.json or .warp/.mcp.json. Key mcpServers, standard shape, carrying the same credential. Also addable through the /agent-add-mcp skill.
JetBrains Junie
.junie/mcp/mcp.json per project, or ~/.junie/mcp/mcp.json. Key mcpServers, carrying the same credential. Use /mcp in the CLI to manage.
Roo Code
.roo/mcp.json per project. The global file is mcp_settings.json, opened from the Roo Code MCP settings view with Edit Global MCP. Key mcpServers, carrying the same credential.
Continue
.continue/mcpServers/*.yaml, one file per server, carrying the same credential.
YAML, and `mcpServers` is a list, not an object. Every JSON client keys servers by name. Continue takes an array, so a converted config will not parse.
Trae
.trae/mcp.json per project, or paste into the UI under Raw Config (JSON). Key mcpServers, standard shape, carrying the same credential.
Devin
Devin has no config file to edit. Servers are added through a web form in the settings UI, and Devin's documentation states you do not need to write or paste JSON. The block below is the shape those fields describe, shown for reference. Either route uses the same credential.
Building it first
There is no package to install, so this step is mandatory. No credentials appear here; the token is passed later, at run time.
git clone https://github.com/Flagsmith/flagsmith-mcp.git
cd flagsmith-mcp && npm install && npm run build
# produces bin/mcp-server.jsNarrowing the tool list
--tool can be repeated to register only the tools you name, which is the only mitigation for 36 blank descriptions.
node bin/mcp-server.js start --transport stdio \ --token-auth <your-token> \ --tool mcp-api-v1-projects-features-list
Read-only access, permissions and security
You are running an unreviewed build
No release, no tag and no published package means no fixed version to audit or pin.
11 tools write
Names containing
create,updateordestroychange flags, segments, projects and change requests, and none describes what it does.Empty descriptions make approval harder
A client that asks you to approve a tool call can only show you a name such as
mcp-api-v1-environments-features-versions-e40.The README badge and the repository disagree
The README shows an MIT badge while GitHub reports no license for the repository.
Troubleshooting
- The server prints usage and exits
- It needs a subcommand. Use
start --transport stdiofor a local client, orservefor HTTP. - There is no package to install
- That is correct. The repository has 0 releases and 0 tags and nothing on npm, so cloning and building is the only route.
- The agent calls the wrong tool repeatedly
- 36 of 37 tools have no description, and eight names differ only by a trailing hash. Register a narrow set with repeated
--toolflags. - A flag changed unexpectedly
- 11 tool names contain a writing verb. The Flagsmith token's permissions are the only boundary the server offers.
Flagsmith MCP server: Reference
| Item | Value |
|---|---|
| Status | Repository pushed 13 March 2026 · 0 releases, 0 tags |
| Adoption | 0 stars · 0 forks · 0 releases · repository created 13 March 2026 |
| License | README shows an MIT badge; GitHub reports none for the repository |
| Distribution | None. Clone and build |
| Auth | --token-auth, a Flagsmith API token |
| Tools | 37, all on by default |
| Tools with a description | 1 of 37 |
| Hashed names | 8 end in a three-character hash |
| Context cost | 11,213 to 20,671 tokens |
What engineers report
There is no adoption to report, which is itself the finding: 0 stars, 0 releases and no package.
| What was checked | What it shows |
|---|---|
| Stars | 0 |
| Releases | 0 |
| Tags | 0 |
| Published packages | None on npm |
| Last push | 13 March 2026 |
Tools returned by tools/list | 37 |
| Tools with an empty description | 36 of 37 |
| Average schema size | 1,073 characters per tool |
Repository facts from the GitHub API, retrieved 24 August 2026, including a releases count of 0 and a tags count of 0. The npm registry was checked for flagsmith-mcp and @flagsmith/mcp on the same date and returned 404 for both. Tool counts and description lengths come from the server's own tools/list response on a build of the repository.
Should you connect an agent to Flagsmith?
Yes, though there is no packaged release. Best for not connecting. The documented REST API gives an agent more to work with than this server does.
- Strongest fit
- Teams willing to maintain their own build, who will name every tool in the prompt themselves.
- Main advantage
- It does reach the whole Flagsmith API surface, because it was generated from the specification.
- Main weakness
- 36 of 37 tools carry no description, so the model has nothing to choose from but a REST path.
- Operational risk
- Eleven undescribed writing tools, on an unreleased build with no version to pin.
From Oodle
One platform for agent traces and infrastructure
Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface, from $10 per million spans.
See agent observabilityFrequently asked questions
How many tools does the Flagsmith MCP server have?
37, all on by default. Counted from the server's own tools/list response on a build of the repository, on 24 August 2026.
Why do the tools have no descriptions?
36 of the 37 have a description of length zero. The server was generated from the API specification and the descriptions were never filled in.
Is it published anywhere?
No. The repository has 0 releases and 0 tags, and nothing exists on npm. Its README still says to delete that notice before publishing to a package manager.
Why do some tool names end in random characters?
The generator appends a three-character hash when two endpoint paths would produce the same tool name. Eight of the 37 names end that way.
What should I use instead?
The Flagsmith REST API, which documents the same endpoints properly. For a written flag connector, LaunchDarkly publishes one with descriptions on every tool.