npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@exposureai/mcp

v0.1.4

Published

Exposure MCP server for submitting community knowledge claims

Downloads

467

Readme

Exposure MCP

npm GitHub release Claude Desktop MCP

A Model Context Protocol (MCP) server and agent skill that lets local agents submit structured community knowledge claims to Exposure. It helps Codex, Claude Code, Cursor, OpenCode, Claude Desktop, and other MCP clients save member needs, resources, expertise, connections, and useful references through Exposure's private API.

The server is a thin local adapter. It submits claims to Exposure; it does not create graph edges, send member_id, or include private Exposure backend code.

Exposure MCP and Skill

This package has two pieces:

  • MCP server: exposes tools that submit claim-shaped payloads to Exposure.
  • Skill: teaches coding agents when to use those tools, how to extract a concise claim, and when to ask for confirmation.

Use the MCP server when the agent needs to save structured claims into Exposure. Use the skill behavior for coding agents that support skill directories, because it keeps the agent from being chatty, inventing context, or submitting without confirmation.

Key Features

  • Structured claim intake. Submits need, resource, expertise, connection, and useful_reference claims.
  • Token-safe local auth. Reads EXPOSURE_API_TOKEN from local env/config and never prints it.
  • Confirmation-first behavior. The skill asks before submitting unless the user explicitly says to save or submit.
  • Private matching logic. Exposure's backend derives the member from the token and computes graph matches privately.
  • One-command setup. Installs skills and configures supported local MCP clients where possible.

Requirements

  • Exposure API token created in the Exposure member portal Profile section.
  • Node.js 18 or newer for npx @exposureai/mcp.
  • macOS, Linux, or Windows for the npm wrapper.
  • macOS or Windows for the Claude Desktop .mcpb extension.
  • Go 1.24 or newer only when building the MCP server from source.

Getting Started

First, create an Exposure API token in the member portal Profile section.

Then install globally into every detected local harness:

EXPOSURE_API_TOKEN=exp_live_xxx npx @exposureai/mcp@latest install

PowerShell:

$env:EXPOSURE_API_TOKEN="exp_live_xxx"; npx @exposureai/mcp@latest install

This writes local config to ~/.exposure/exposure-mcp.env, installs the Exposure skill into detected skill directories, and registers the exposure MCP server for supported clients.

All installers require EXPOSURE_API_TOKEN. If no token is provided and no previous local token config exists, installation exits before downloading anything.

Standard MCP config works in most tools:

{
  "mcpServers": {
    "exposure": {
      "command": "npx",
      "args": ["-y", "@exposureai/mcp@latest"],
      "env": {
        "EXPOSURE_API_TOKEN": "exp_live_xxx",
        "EXPOSURE_API_URL": "https://exposureai.org"
      }
    }
  }
}

Do not commit config files that contain real API tokens.

Claude Desktop

Use the official Claude Desktop extension flow:

  1. Download the exposure-mcp-*.mcpb asset from the latest GitHub release.
  2. Open the .mcpb file with Claude Desktop, or install it from Settings > Extensions > Advanced settings > Install Extension.
  3. Paste your Exposure API token into the extension settings.

The Claude Desktop extension stores the token through Claude Desktop's sensitive configuration flow and runs the bundled local MCP server over stdio.

Claude Code

Use the Claude Code CLI:

claude mcp add --scope user exposure -e EXPOSURE_API_TOKEN=exp_live_xxx -- npx -y @exposureai/mcp@latest

The global installer also installs the skill at ~/.claude/skills/exposure/SKILL.md.

Codex

Use the Codex CLI:

codex mcp add exposure --env EXPOSURE_API_TOKEN=exp_live_xxx -- npx -y @exposureai/mcp@latest

The global installer also installs the skill at ~/.codex/skills/exposure/SKILL.md.

Cursor

Click the button to install:

Install in Cursor

Or install manually:

Create or edit ~/.cursor/mcp.json:

{
  "mcpServers": {
    "exposure": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@exposureai/mcp@latest"],
      "envFile": "${userHome}/.exposure/exposure-mcp.env"
    }
  }
}

The global installer also installs the skill at ~/.cursor/skills/exposure/SKILL.md and ~/.agents/skills/exposure/SKILL.md.

OpenCode

Add Exposure to ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "exposure": {
      "type": "local",
      "command": ["npx", "-y", "@exposureai/mcp@latest"],
      "enabled": true,
      "environment": {
        "EXPOSURE_API_TOKEN": "exp_live_xxx",
        "EXPOSURE_API_URL": "https://exposureai.org"
      }
    }
  }
}

The global installer also installs the skill at ~/.config/opencode/skills/exposure/SKILL.md and ~/.agents/skills/exposure/SKILL.md.

Gemini CLI and Antigravity

The global installer installs the skill at ~/.gemini/antigravity/skills/exposure/SKILL.md and ~/.agents/skills/exposure/SKILL.md.

MCP auto-configuration for Gemini CLI is not installed by this package yet. Use the standard MCP config above if your Gemini environment supports local MCP servers.

Native Installer

macOS and Linux:

curl -fsSL https://exposureai.org/install/exposure-mcp.sh | EXPOSURE_API_TOKEN=exp_live_xxx bash

Windows PowerShell:

$env:EXPOSURE_API_TOKEN="exp_live_xxx"; iwr https://exposureai.org/install/exposure-mcp.ps1 -UseB | iex

The native installer downloads the exposure-mcp binary from GitHub Releases, verifies checksums.txt, installs it to ~/.local/bin, writes ~/.exposure/exposure-mcp.env, installs detected skills, and registers supported MCP clients.

Client Support

| Client | Skill | MCP | Setup | | --- | --- | --- | --- | | Claude Desktop | Embedded in .mcpb | Yes | Install the .mcpb release asset | | Claude Code | Yes | Yes | npx ... install or claude mcp add | | Codex CLI | Yes | Yes | npx ... install or codex mcp add | | Cursor | Yes | Yes | npx ... install, Cursor button, or ~/.cursor/mcp.json | | OpenCode | Yes | Yes | npx ... install or ~/.config/opencode/opencode.json | | Gemini CLI / Antigravity | Yes | Manual | Skill installs globally; MCP config is manual | | Claude web chat | No | No | Local MCP servers are not supported there | | ChatGPT website | No | No | Local MCP servers are not supported there | | Codex app | No | No | Not configured by this package | | GitHub Copilot | No | Manual | Use standard MCP config if your Copilot environment supports it |

Configuration

Exposure MCP supports these environment variables:

| Variable | Description | | --- | --- | | EXPOSURE_API_TOKEN | Required Exposure API token. Create it in the member portal Profile section. | | EXPOSURE_API_URL | Optional Exposure API base URL. Defaults to https://exposureai.org. |

The local env file path is:

~/.exposure/exposure-mcp.env

Example:

EXPOSURE_API_TOKEN=exp_live_xxx
EXPOSURE_API_URL=https://exposureai.org

Tools

  • submit_need: submit a member need claim.
  • submit_resource: submit a member resource claim.
  • submit_knowledge_claim: submit a need, resource, expertise, connection, or useful_reference claim.

Claims are sent to:

POST {EXPOSURE_API_URL}/api/knowledge/intake
Authorization: Bearer EXPOSURE_API_TOKEN
Content-Type: application/json

Example payload:

{
  "type": "need",
  "text": "I need help with seed fundraising",
  "tags": ["fundraising", "seed"],
  "confidence": 0.8,
  "source": "exposure-ai-skill"
}

The server accepts standard non-2xx JSON errors from the Exposure API and returns clear failure messages without printing the API token. On success, it accepts responses such as:

{
  "ok": true,
  "claim_id": "claim_123"
}

Updating

If installed through npm, npx @exposureai/mcp@latest resolves the latest package wrapper.

If installed as a native binary, update from GitHub Releases:

exposure-mcp update

You can also rerun the installer command. Existing token config is reused.

Security

  • Do not commit real Exposure API tokens.
  • Do not paste tokens into normal agent chat.
  • Store tokens locally in env or ~/.exposure/exposure-mcp.env.
  • The server never sends member_id; Exposure derives it from the API token.
  • The server submits claims only; private matching and graph edge creation stay in Exposure's backend.

Releasing

Create a version tag to publish installer assets:

git tag v0.1.4
git push origin v0.1.4

The release workflow runs tests, builds platform binaries, publishes checksums.txt, and creates exposure-mcp-<version>.mcpb for Claude Desktop.

Publish the npm wrapper after the release exists:

npm publish --access public