@exposureai/mcp
v0.1.4
Published
Exposure MCP server for submitting community knowledge claims
Downloads
467
Maintainers
Readme
Exposure 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, anduseful_referenceclaims. - Token-safe local auth. Reads
EXPOSURE_API_TOKENfrom 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
.mcpbextension. - 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 installPowerShell:
$env:EXPOSURE_API_TOKEN="exp_live_xxx"; npx @exposureai/mcp@latest installThis 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:
- Download the
exposure-mcp-*.mcpbasset from the latest GitHub release. - Open the
.mcpbfile with Claude Desktop, or install it fromSettings>Extensions>Advanced settings>Install Extension. - 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@latestThe 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@latestThe global installer also installs the skill at ~/.codex/skills/exposure/SKILL.md.
Cursor
Click the button to install:
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 bashWindows PowerShell:
$env:EXPOSURE_API_TOKEN="exp_live_xxx"; iwr https://exposureai.org/install/exposure-mcp.ps1 -UseB | iexThe 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.envExample:
EXPOSURE_API_TOKEN=exp_live_xxx
EXPOSURE_API_URL=https://exposureai.orgTools
- submit_need: submit a member need claim.
- submit_resource: submit a member resource claim.
- submit_knowledge_claim: submit a
need,resource,expertise,connection, oruseful_referenceclaim.
Claims are sent to:
POST {EXPOSURE_API_URL}/api/knowledge/intake
Authorization: Bearer EXPOSURE_API_TOKEN
Content-Type: application/jsonExample 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 updateYou 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.4The 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