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.

VerifiedStreamable HTTPWeb executableDeveloper ToolsData & Analytics

Overview

AI-generated 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.
Before you install
The server is described as read-only, but it still requires a Pulse API key sent in the Authorization header, so treat that key as a secret and scope it appropriately. Installing the SDK means adding a publishable key to your app code and sending end-user events to Pulse.

Installation

In SourceWeft

  1. Open Pulse in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. 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.

Read the install guide the agent follows

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

PackageWhat it's forInstall
@pulse-circle/webBrowser / any web appnpm i @pulse-circle/web
@pulse-circle/react-nativeReact Native & Exponpm i @pulse-circle/react-native
@pulse-circle/corePlatform-agnostic engine (used by the above)npm i @pulse-circle/core
@pulse-circle/mcpLocal (stdio) MCP server — offline setup/connect guides for AI agentsclaude mcp add pulse -- npx -y @pulse-circle/mcp

Quickstart (web)

bash
npm install @pulse-circle/web
ts
import { Pulse } from '@pulse-circle/web';
Pulse.init('pk_your_api_key');
// Track product events — the SDK batches, persists, and retries for you.Pulse.track('subscription_started', { plan: 'pro' });
// Tie events to a user after login.Pulse.identify('user_42');
// On logout, start a fresh anonymous identity.Pulse.reset();

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:

init(apiKey, options?)      // configure oncetrack(event, properties?)   // queue an eventidentify(userId)            // associate the current identity with a user idreset()                     // logout: new anonymous identityflush()                     // force-send the queue (tests, critical moments)

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_key and a timestamp at the moment you call track — 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

bash
npm installnpm test          # conformance fixtures + unit tests (vitest)npm run lintnpm run typechecknpm run build     # tsup builds for every packagenpm run size -w @pulse-circle/web   # enforce the 10 KB budget

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:

core-v0.1.0 | web-v0.1.0 | react-native-v0.1.0

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

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  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