Open-source tool for collaborative editing, versioning, evaluating, and releasing prompts.
Visit ProjectLangfuse Prompt Management is an open-source tool for collaborative editing, versioning, evaluating, and releasing prompts. It provides an MCP (Model Context Protocol) server that allows users to access and manage their Langfuse prompts through the Model Context Protocol, enabling seamless integration with other MCP-compatible tools.
npm install
followed by npm run build
to set up the server.prompts/list
, prompts/get
) or use tool endpoints (get-prompts
, get-prompt
).What is the difference between MCP Prompt endpoints and tool endpoints?
MCP endpoints (
prompts/list
,prompts/get
) follow the Model Context Protocol specification, while tools (get-prompts
,get-prompt
) are fallback endpoints for non-MCP compatible clients.
Are there any limitations?
Yes, it currently only supports prompts with a
production
label in Langfuse and assumes all arguments are optional. List operations may be inefficient due to background prompt fetching.
How can I contribute?
Contributions are welcome! Open an issue or PR on GitHub (repo).
Model Context Protocol (MCP) Server for Langfuse Prompt Management. This server allows you to access and manage your Langfuse prompts through the Model Context Protocol.
Quick demo of Langfuse Prompts MCP in Claude Desktop (unmute for voice-over explanations):
https://github.com/user-attachments/assets/61da79af-07c2-4f69-b28c-ca7c6e606405
This server implements the MCP Prompts specification for prompt discovery and retrieval.
prompts/list
: List all available prompts
prompts/get
: Get a specific prompt
To increase compatibility with other MCP clients that do not support the prompt capability, the server also exports tools that replicate the functionality of the MCP Prompts.
get-prompts
: List available prompts
cursor
parameter for paginationget-prompt
: Retrieve and compile a specific prompt
name
parameter: Name of the prompt to retrievearguments
parameter: JSON object with prompt variablesnpm install
# build current file
npm run build
# test in mcp inspector
npx @modelcontextprotocol/inspector node ./build/index.js
npm install
npm run build
Configure Claude for Desktop by editing claude_desktop_config.json
{
"mcpServers": {
"langfuse": {
"command": "node",
"args": ["/build/index.js"], "env": { "LANGFUSE_PUBLIC_KEY": "your-public-key", "LANGFUSE_SECRET_KEY": "your-secret-key", "LANGFUSE_BASEURL": "https://cloud.langfuse.com" } } } } ``` Make sure to replace the environment variables with your actual Langfuse API keys. The server will now be available to use in Claude Desktop. #### Cursor Add new server to Cursor: - Name: `Langfuse Prompts` - Type: `command` - Command: ```bash LANGFUSE_PUBLIC_KEY="your-public-key" LANGFUSE_SECRET_KEY="your-secret-key" LANGFUSE_BASEURL="https://cloud.langfuse.com" node absolute-path/build/index.js ``` ## Limitations The MCP Server is a work in progress and has some limitations: - Only prompts with a `production` label in Langfuse are returned - All arguments are assumed to be optional and do not include descriptions as variables do not have specification in Langfuse - List operations require fetching each prompt individually in the background to extract the arguments, this works but is not efficient Contributions are welcome! Please open an issue or a PR ([repo](https://github.com/langfuse/mcp-server-langfuse)) if you have any suggestions or feedback.