langfuse

com.pulsemcp/langfuse

About langfuse

langfuse is an MCP server published by pulsemcp.com. MCP server for Langfuse LLM observability — trace and observation analysis.

It runs on your own machine: your AI client starts it from the npm package langfuse-observability-mcp-server at version 0.1.3.

It asks for 2 secrets: LANGFUSE_SECRET_KEY and LANGFUSE_PUBLIC_KEY. Give it a key with the least access that still works.

Version 0.1.3 was published on 17 June 2026, and the source code is public, so you can read it before installing.

Written from the registry entry. 9 automated checks on the registry entry and the package code: 7 pass, 0 warn, 0 fail, 2 info. How we check.

What it asks for

VariableRequiredSecretDescription
LANGFUSE_SECRET_KEYYesYesLangfuse secret key for authentication.
LANGFUSE_PUBLIC_KEYYesYesLangfuse public key for authentication.
LANGFUSE_BASE_URLNoNoLangfuse API base URL.

Checks

CheckResultDetail
Source repository linkedPasshttps://github.com/pulsemcp/mcp-servers
Version pinnedPassEvery package has an explicit version
Secrets requestedInfoAsks for 2 secrets: LANGFUSE_SECRET_KEY, LANGFUSE_PUBLIC_KEY
Known package registryPassAll packages come from npm, PyPI, OCI, NuGet or MCPB
Namespace ownershipInfoName verified via domain pulsemcp.com
Registry text aimed at the AIPassDescription and settings contain no hidden characters or instructions to the AI
Install scriptsPasslangfuse-observability-mcp-server@0.1.3 runs nothing at install
Code red flagsPassRead 38 files in langfuse-observability-mcp-server@0.1.3: no obfuscation, encoded execution, credential reads or data-collection endpoints found
Text aimed at the AIPassNo hidden characters or instructions to the AI in 38 files, including comments and the README

Code review: Pass, with notes

We read all 1,377 lines in 36 files of langfuse-observability-mcp-server 0.1.3 on 2026-10-31, without running it.

Read-only access to your Langfuse traces and observations, sent only to Langfuse Cloud or the self-hosted URL you set. Your Langfuse keys go only there. Long trace contents are saved as plain-text files in /tmp and never deleted, which matters if your traces hold sensitive prompts or user data.

What we found

  • Note Large trace fields (often full LLM prompts and outputs, which can contain user data) are written in plain text to /tmp files that are never cleaned up and are readable by other local users on shared machines. Disclosed in the tool descriptions. shared/truncation.js:13-39
  • Info All four tools are read-only GETs; no write or delete operations exist. shared/tools.js:6-11
  • Info A test entry point with a mock client is shipped in build/ (counted); it makes no network calls. build/index.integration-with-mock.js
  • Info IDs are encodeURIComponent'd and filters go through URLSearchParams; no injection into the request path. shared/langfuse-client/lib/*.js
  • Info No package.json in the reviewed copy (code reads it at runtime for the version); dependencies are taken from imports. No obfuscation, install hooks, dynamic code or hard-coded secrets. package
  • Info lines_read (1377) is the real line count of every file (Read tool / splitlines). The manifest's 1396 counts one extra empty 'line' after the trailing newline of 19 files; no file or line was skipped. manifest.tsv
Talks tocloud.langfuse.com (or LANGFUSE_BASE_URL): GET requests to /api/public/traces and /api/public/observations with filter parameters and Basic auth (public:secret key) (only when a tool is called)
Keys and settingsLANGFUSE_SECRET_KEY: LANGFUSE_BASE_URL (Basic auth header); only shown as '***configured***' in the config resource
LANGFUSE_PUBLIC_KEY: LANGFUSE_BASE_URL (Basic auth header)
LANGFUSE_BASE_URL: local (target host, default https://cloud.langfuse.com; printed to stderr if custom)
LANGFUSE_MOCK_DATA: local (test entry point only)
NODE_ENV / DEBUG: local (debug logging)
Files on your machineReads its own package.json. Writes the full text of any trace/observation field longer than 1000 characters to /tmp/langfuse_<field>_<random>_<n>.txt (shared/truncation.js:13-39) and tells the AI the path; files are never deleted and use default permissions. On Windows '/tmp' resolves to \tmp on the current drive.
Runs programsNone.
TelemetryNone.
Toolsget_traces, get_trace_detail, get_observations, get_observation
Tool descriptionsclean (descriptions disclose the /tmp truncation behaviour and suggest grep on those files)

This covers the package's own code only, not the 2 packages it depends on (@modelcontextprotocol/sdk, zod). A new version drops this review until we read it again.

Popularity & health: 65 / 100

Worked out from public numbers and our own checks, not from user reviews or ratings. It says how used and how looked-after a server is, not whether it is safe.

Popularity18 / 40

81 GitHub stars, 235 downloads last week, 0 Hacker News posts (0 points). Best two of the three, each on a log scale.

Activity17 / 25

Last push 2026-10-09, last release 2025-07-03, 1 commits in 90 days.

Issue health11 / 15

66 closed of 93 issues.

Our checks20 / 20

0 warnings, each costing a fifth.

10 forks, 491 merged pull requests. Sources: GitHub, npm, PyPI (pypistats.org) and Hacker News (Algolia), fetched 2026-10-31.

What people say

No Hacker News threads link to its source code.

Look further: search Reddit, search Hacker News, read its GitHub issues. These are not reviews we checked.

Facts

Registry namecom.pulsemcp/langfuse
PublisherDomain pulsemcp.com
How the name is verifiedName verified via domain pulsemcp.com. The registry ties the name prefix to that account or domain; it does not check the code.
TypeLocal: runs on your machine from a package
Packagesnpm langfuse-observability-mcp-server 0.1.3 (stdio)
Version0.1.3
Published
Last updated
Source repositoryhttps://github.com/pulsemcp/mcp-servers
WebsiteNone linked
CategoryAnalytics & monitoring (assigned by keyword rule, not by hand)

Related servers in Analytics & monitoring