
Pulse
studio.pulsecirclePublished by pulsecircle.studioOfficial publisherv0.1.2Updated Oct 24, 2026
Ask about revenue, MRR, ad spend, LTV and CAC; install the Pulse SDK. Read-only.
Overview
Pulse analytics MCP server that lets an assistant answer questions about revenue, MRR, ad spend, LTV and CAC, and help install the Pulse SDK.
- What you can do
- Ask read-only questions about product and revenue metrics such as revenue, MRR, ad spend, LTV and CAC.
- Get guidance on installing and wiring up the Pulse analytics SDKs for web, React Native, iOS and Android.
- Use the same server remotely over HTTP or locally through the npm package for offline setup and connect guides.
- When to use it
- Useful when you want an assistant to look up Pulse analytics numbers while discussing growth or unit economics, or to walk through adding Pulse event tracking to an app.
- Requirements
- Either the remote endpoint or the local npm package run with npx. Authentication is required: an Authorization bearer API key from the Pulse web app settings, or OAuth 2.1 authorization for clients that support it. No environment variables are declared.
Installation
In SourceWeft
- Open Pulse in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/studio.pulsecircle%2Fpulse/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"pulse": {
"type": "http",
"url": "https://mcp.pulse.pulsecircle.studio/mcp"
}
}
}README
Pulse SDK
Open-source analytics SDKs for web, React Native, iOS, and Android. Add analytics to your app with a reliable, offline-first event queue and clean identity — and nothing else.
- Tiny. The web SDK is ≤ 10 KB gzipped with zero dependencies.
- Reliable. A persistent, ordered queue survives offline periods and process death. Delivery is idempotent: retries never duplicate events.
- Honest about privacy. No auto-capture, no fingerprinting, no IDFA/GAID, no ad SDKs. The SDK sends only the events you send it.
- One protocol, four platforms. Every SDK implements the same wire protocol and passes the same conformance fixtures in CI. The Pulse ingestion server replays those same fixtures — the contract is verified from both ends.
This repository holds the TypeScript packages. The Swift and Kotlin SDKs live
in pulse-sdk-native.
For AI agents
Install: npm i @pulse-circle/web, then Pulse.init('pk_...') and
Pulse.track('event', {...}). The package is self-contained (zero deps, default
endpoint baked in) and ships llms.txt inside it. Installing needs only npm; event
delivery happens in the end-user's browser at runtime.
Packages
Quickstart (web)
That's the whole API. See each package's README for the platform-specific install (script tag, Expo, etc.) and the full reference.
The API, everywhere
The five methods are identical across all four platforms, in each language's idiomatic syntax:
There are deliberately no screen/page auto-tracking and no revenue methods: revenue comes from server-side connectors, so there is exactly one source of truth per number.
The reliability contract
- Every event gets an
idempotency_keyand atimestampat the moment you calltrack— never at send time. Retries resend both byte-identical, and the server's primary key includes both, so a flaky network can never create a duplicate. - The queue is persistent (localStorage on web, files on mobile) and ordered. It survives reloads, crashes, and offline periods up to a per-platform cap, then evicts oldest-first with a debug warning rather than growing without bound.
- Retries use exponential backoff with jitter. A batch the server keeps rejecting (a "poison" batch) is moved aside after 10 attempts so it can never block everything behind it.
The normative details are in protocol/PROTOCOL.md.
Development
Conformance fixtures
protocol/fixtures is the source of truth for
cross-platform behaviour. Each JSON file is a scenario ("these API calls
produce these HTTP requests"); every SDK runs them through a shared
fixture runner, and the server replays them against
real ingestion. Change behaviour by changing a fixture, and every platform's
CI tells you who's out of contract.
Releasing
Versions are independent per package. Bump the version in the package's
package.json, then push a tag:
The publish workflow verifies the tag
matches package.json, runs the full test + build + size gate, and publishes
to npm with provenance.
License
MIT © Pulse Circle Studio
Source: README.md at commit cfa0464
Tools
0Version history
1- v0.1.2LatestSep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts