Langfuse Prompt Management MCP Server
by langfuse
# Langfuse Prompt Management MCP Server
[Model Context Protocol](https://github.com/modelcontextprotocol) (MCP) Server for [Langfuse Prompt Management](https://langfuse.com/docs/prompts/get-started). This server allows you to access and manage your Langfuse prompts through the Model Context Protocol.
## Demo
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
## Features
### MCP Prompt
This server implements the [MCP Prompts specification](https://modelcontextprotocol.io/docs/concepts/prompts) for prompt discovery and retrieval.
- `prompts/list`: List all available prompts
- Optional cursor-based pagination
- Returns prompt names and their required arguments, limitation: all arguments are assumed to be optional and do not include descriptions as variables do not have specification in Langfuse
- Includes next cursor for pagination if there's more than 1 page of prompts
- `prompts/get`: Get a specific prompt
- Transforms Langfuse prompts (text and chat) into MCP prompt objects
- Compiles prompt with provided variables
### Tools
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
- Optional `cursor` parameter for pagination
- Returns a list of prompts with their arguments
- `get-prompt`: Retrieve and compile a specific prompt
- Required `name` parameter: Name of the prompt to retrieve
- Optional `arguments` parameter: JSON object with prompt variables
## Development
```bash
npm install
# build current file
npm run build
# test in mcp inspector
npx @modelcontextprotocol/inspector node ./build/index.js
```
## Usage
### Step 1: Build
```bash
npm install
npm run build
```
### Step 2: Add the server to your MCP servers:
#### Claude Desktop
Configure Claude for Desktop by editing `claude_desktop_config.json`
```json
{
"mcpServers": {
"langfuse": {
"command": "node",
"args": ["<absolute-path>/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.