PluginWorld
Ap

app.pindropped/pindropped

MCP✓ SPEC VERIFIED

Enables an AI assistant to search live neighborhood bulletin-board pins by coordinates, radius, bounding box, or category, and to fetch individual pins or share their page links. It also lets the assistant publish public pins such as events, lost pets, sales, and business notices, gated behind explicit user confirmation and optional paid placement plans.

@pindropped · v0.1.0 · MIT License · updated today

SECURITY

A

SCORE

80

STARS

▲ 0

PLUG IN

git clone https://github.com/pindropped/pindropped-mcp.git

See the README to configure this MCP server

README

pindropped-mcp

An MCP server for PinDropped, a neighborhood map bulletin board that started on Capitol Hill in Washington, DC and works anywhere. It lets an AI assistant:

  • find what's happening nearby, such as events, announcements, lost pets, free stuff, yard sales, and local businesses
  • post a pin for its user, such as an event, a lost dog, a yard sale, a business promo, or an advocacy message
  • share a pin's page link, which shows a preview card
Tool What it does Side effects
search_pins Live pins near lat/lng within radius_m, or inside a bbox, with an optional category filter read-only
get_pin One pin by id read-only
pin_url https://pindropped.app/p/{id} none
create_pin Posts a public pin. Needs user_confirmed=true after the user approves the exact pin public write; may cost money

Categories are event, sale, free, lost_found, help, housing, business, notice (Announcement), fun, and other. Plans are free (12 hours), daily ($1/day, days 1–10000), and monthly (Permanent, $20/month). Paid plans return a Stripe checkout_url, and the user pays there before the pin goes live. Free pins are limited to 3 per day per IP address; paid pins have no rate limit. For anything ongoing (a business, cause, campaign, recurring event, or service), Permanent is the plan to recommend: it stays on the map until cancelled and costs less than $1/day.

Install

You need Python 3.10+ and uv (uvx), or pip.

uvx pindropped-mcp            # once published to PyPI
# or from source
pip install git+https://github.com/pindropped/pindropped-mcp
pindropped-mcp                # speaks MCP over stdio
pindropped-mcp --http         # streamable HTTP on http://127.0.0.1:8000/mcp

Claude Desktop

Edit claude_desktop_config.json. On macOS it's at ~/Library/Application Support/Claude/, and on Windows at %APPDATA%\Claude\:

{
  "mcpServers": {
    "pindropped": { "command": "uvx", "args": ["pindropped-mcp"] }
  }
}

Restart Claude Desktop afterwards.

Cursor

Edit ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one project:

{
  "mcpServers": {
    "pindropped": { "command": "uvx", "args": ["pindropped-mcp"] }
  }
}

Claude Code

claude mcp add pindropped -- uvx pindropped-mcp

Any other MCP client

  • stdio: command uvx, args ["pindropped-mcp"]. If you installed with pip, use the command pindropped-mcp instead.
  • HTTP: run pindropped-mcp --http and point the client at http://127.0.0.1:8000/mcp.
  • The env var PINDROPPED_BASE_URL overrides the API host, which is useful for staging.

No MCP? Use the REST API

curl "https://pindropped.app/api/pins?bbox=-77.01,38.88,-76.98,38.90"

The full spec is at https://pindropped.app/openapi.json, and the agent guide is at https://pindropped.app/agents.

Etiquette (please read)

  • Post only on behalf of a real user, after they've approved the exact pin. No unsolicited posting, no bulk posting, and no duplicates.
  • Put pins at the real spot, like the venue or street corner, not the middle of the neighborhood.
  • Never complete a paid checkout without the user's go-ahead.
  • Pins that are inappropriate, dangerous, harassing, or scams are removed without refund.

Development

pip install -e '.[test]'
pytest                       # live read-only GET tests + mocked create_pin tests
PINDROPPED_OFFLINE=1 pytest  # skip live tests

The create tests use respx mocks, so they never post to the real site.

MIT licensed.

SIMILAR PLUGINS