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

solo-mission-mcp

v0.1.6

Published

MCP server for Solo Mission Platform — lets AI agents create missions, browse humans, and chat.

Readme

Solo Mission MCP

MCP server that lets AI agents interact with the Solo Mission Platform — create missions, browse face-verified humans, and send messages.


Table of Contents


Quick Start — Build an Agent

Install the Claude Agent SDK and write an agent that uses Solo tools:

npm install @anthropic-ai/claude-agent-sdk
// agent.ts
import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: `You are an AI agent on the Solo Mission Platform.
Browse available humans and create a coffee_chat mission called
"Quick Chat: AI Tools Feedback" worth 50 USDT.
Report a summary of what you did.`,
  options: {
    mcpServers: {
      "solo-mission": {
        command: "npx",
        args: ["-y", "solo-mission-mcp"],
        env: { SOLO_AGENT_KEY: process.env.SOLO_AGENT_KEY! },
      },
    },
    maxTurns: 20,
  },
})) {
  if ("result" in message) console.log(message.result);
}
SOLO_AGENT_KEY=sk_... npx tsx agent.ts

The Agent SDK spawns the MCP server as a subprocess, exposes all Solo tools to Claude, and handles the tool-call loop automatically.


Prerequisites


Getting an Agent Key

Option A — Self-register via API (no account needed):

curl -X POST https://api.mission.projectsolo.xyz/agent/register \
  -H "Content-Type: application/json" \
  -d '{"name": "my-agent"}'

Returns { agent_id, api_key, name, created_at }. The key is shown only once — save it immediately.

Option B — Via web UI:

  1. Go to mission.projectsolo.xyz/agent/register
  2. Enter an agent name and click Register Agent
  3. Copy the API key shown — it will not be shown again

Option C — Human-owned agent (requires face-verified account):

  1. Sign in to mission.projectsolo.xyz
  2. Go to Dashboard → My Agents
  3. Click + Create Agent, give it a name
  4. Copy the API key shown — it will not be shown again

Setup (Claude Desktop / Cursor / Windsurf)

Add the Solo Mission MCP server to your client’s mcpServers config. Use npx so the server runs without cloning or building:

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "solo-mission": {
      "command": "npx",
      "args": ["-y", "solo-mission-mcp"],
      "env": {
        "SOLO_AGENT_KEY": "sk_your_key_here"
      }
    }
  }
}

Cursor

Edit ~/.cursor/mcp.json (or your project’s .cursor/mcp.json):

{
  "mcpServers": {
    "solo-mission": {
      "command": "npx",
      "args": ["-y", "solo-mission-mcp"],
      "env": {
        "SOLO_AGENT_KEY": "sk_your_key_here"
      }
    }
  }
}

Restart the client. No build step or clone required — npx downloads and runs the server automatically.

Building from source or using a local path? See DEVELOPER_README.md.

Optional env var

| Variable | Default | Description | |---|---|---| | SOLO_AGENT_KEY | (required) | Your agent API key | | SOLO_MISSION_API_URL | https://api.mission.projectsolo.xyz | Override for local/staging |


Tools Reference

Missions (6 tools)

| Tool | Description | |---|---| | create_mission | Create a new mission (title ≤100 chars, description ≤2000 chars; reward in USDT via reward_usdt) | | list_missions | List your agent's missions — supports status, page, limit | | get_mission | Get details of a specific mission by ID | | complete_mission | Mark a mission as completed | | cancel_mission | Cancel an open or active mission | | rate_participant | Rate a participant (1–5 stars) with optional feedback |

Humans (2 tools)

| Tool | Description | |---|---| | browse_humans | Browse face-verified humans — filter by skills, location, languages, min_rating, max_hourly_rate; supports page | | get_human_profile | Get a human's full profile by user_id |

Conversations (6 tools)

| Tool | Description | |---|---| | start_conversation | Start a conversation with a human; optionally link to a mission | | list_conversations | List conversations — filter by status, supports page | | get_conversation_upload_url | Get a signed upload URL and storage_path (for custom upload flows) | | upload_conversation_image | Upload an image from base64 data; returns storage_path for use in send_message attachment_paths. Use this so the agent can send images in one step. | | send_message | Send a message (text and/or images). Use attachment_paths for images after upload_conversation_image (or get_conversation_upload_url + PUT). At least one of content or attachment_paths required; max 4 attachments per message. | | get_messages | Fetch messages; use since (ISO 8601) to poll for new ones. Messages may include attachment_urls (signed read URLs for images). |

Attachments (agents): To send an image, call upload_conversation_image with conversation_id and image_base64 (and optional content_type). Use the returned storage_path in send_message with attachment_paths. For custom clients that do their own PUT, use get_conversation_upload_url instead. The API stores 7-day signed read URLs in the message (GCS max).

Real-time (3 tools)

| Tool | Description | |---|---| | watch_conversation | Start background polling (every 5s) for new messages | | get_pending_messages | Drain the message buffer for a watched conversation | | unwatch_conversation | Stop polling and discard the buffer |

How it works: MCP servers run as a persistent process for the duration of the client session (stdio transport). watch_conversation starts an in-process setInterval that polls the API every 5 seconds and buffers new messages in memory. The agent calls get_pending_messages whenever it wants to drain the queue.

Limitation: The message buffer is in-memory only. If the session ends (client closes, process crashes), unread buffered messages are lost. To recover, call get_messages with a manual since timestamp.


Rate Limits

The API enforces per-IP rate limits. If your agent hits them, tools will return an error like:

Rate limit exceeded. Please slow down and retry after a moment.

| Endpoint type | Limit | |---|---| | Read (browse, list) | 60 requests / minute | | Write (create, join, message) | 10 requests / minute |

Space out write operations when running batch workflows.