Use PinSharing from AI assistants (MCP)
On this page
YOUR_KEY. Get a free key to run them; it takes about a minute and needs no card.Get a free keyPinSharing runs a hosted MCP server. Endpoint https://api.pinsharing.com/v1/mcp (Streamable HTTP). Uses your normal API key; calls count against the same monthly caps as the REST API, no extra charge; hard caps still apply.
Listed in the official MCP Registry as com.pinsharing/maps, so clients and directories that read the registry can find it.
Tools
| Tool | What it does | Counts |
|---|---|---|
geocode | Address or place to coordinates | 1 geocode |
reverse_geocode | Coordinates to nearest address | 1 geocode |
static_map | Map image with markers or a route, returned as an image | 1 static image |
privacy_area_map | Approximate-area image that never reveals the exact point | 1 static image |
map_setup | URLs and code for an interactive map | free |
Connect
Claude Code
claude mcp add --transport http pinsharing https://api.pinsharing.com/v1/mcp --header "Authorization: Bearer YOUR_KEY"
Cursor (~/.cursor/mcp.json or .cursor/mcp.json in a project)
{
"mcpServers": {
"pinsharing": {
"url": "https://api.pinsharing.com/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"pinsharing": {
"type": "http",
"url": "https://api.pinsharing.com/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
Gemini CLI (~/.gemini/settings.json)
{
"mcpServers": {
"pinsharing": {
"httpUrl": "https://api.pinsharing.com/v1/mcp",
"headers": { "Authorization": "Bearer YOUR_KEY" }
}
}
}
Claude Desktop and other clients that only run local servers
Use the open-source stdio bridge, pinsharing-mcp. It forwards each message to the hosted server and stores nothing. It needs Node.js 18+ and Git. In claude_desktop_config.json:
{
"mcpServers": {
"pinsharing": {
"command": "npx",
"args": ["-y", "github:Software-Consulting/pinsharing-mcp"],
"env": { "PINSHARING_API_KEY": "YOUR_KEY" }
}
}
}
Clients that take only a URL
For custom connectors in Claude or ChatGPT, use https://api.pinsharing.com/v1/mcp?key=YOUR_KEY. Treat that URL like a password.
Test with curl
curl -s https://api.pinsharing.com/v1/mcp -H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"geocode","arguments":{"query":"Oswego, Illinois","limit":1}}}'
Notes
- Use a key that is not restricted to websites; MCP requests come from the AI client, not a web page.
- On paid plans, create a separate key for AI clients so you can revoke it on its own.
- Results follow the same storage terms as the REST API.
Attribution
Show © OpenStreetMap contributors
wherever results or maps appear.
Keys in web pages
Keys used in web pages are visible to visitors. In the dashboard, limit such a key to your websites; keep an unrestricted key on your servers. See Keys & websites.