npm @firsthandapi/mcp-serverstdioMITupdated 17d ago
ARCHIVED 2026-08-22 — FirstHandAPI is shut down and this server no longer works. api.firsthandapi.com is permanently offline. Every tool in this MCP server returns a network error, and the @firsthandapi/mcp-server npm package is deprecated on all versions. The signup flow below cannot issue keys. Write-up of what was built and why it was killed: Kept read-only as a reference implementation of an MCP server with a keyless bootstrap tool.
This repository was archived by its owner. It still works, but it is not receiving updates.
What can you do with FirstHandAPI?
ARCHIVED 2026-08-22 — FirstHandAPI is shut down and this server no longer works.
api.firsthandapi.comis permanently offline. Every tool in this MCP server returns a network error, and the@firsthandapi/mcp-servernpm package is deprecated on all versions. Thesignupflow below cannot issue keys.Write-up of what was built and why it was killed: https://jjfisher.dev/writing/2026-w34-firsthandapi-postmortem
Kept read-only as a reference implementation of an MCP server with a keyless bootstrap tool.
@firsthandapi/mcp-server — FirstHandAPI MCP Server
Zero-to-job for agents (bootstrap mode)
No API key yet? Start the server anyway — it exposes a single signup tool:
npx @firsthandapi/mcp-server # no env var needed
Call signup with an org_name and email to receive an API key and $2.50
in free credits (the key is shown once — save it), then restart configured:
claude mcp add firsthandapi -e FIRSTHAND_API_KEY=fh_live_... -- npx @firsthandapi/mcp-server
With the key set, all 7 job tools unlock: create_job, create_job_and_wait,
get_job, list_jobs, get_job_files, cancel_job, get_credits.
Official MCP server for FirstHandAPI — human-in-the-loop (HITL) crowdsourced data collection. Enables Claude Code, Cursor, and other AI agents to collect photos, audio, video, and screen recordings from real human workers with automated AI quality scoring.
Use cases: UGC collection, ground truth data for AI evaluation, LLM training data for multimodal models.
Installation
npm install @firsthandapi/mcp-server
Configuration
Claude Code
{
"mcpServers": {
"firsthand": {
"command": "npx",
"args": ["@firsthandapi/mcp-server"],
"env": {
"FIRSTHAND_API_KEY": "fh_live_your_key_here"
}
}
}
}
Cursor
Add to .cursor/mcp.json:
{
"firsthand": {
"command": "npx @firsthandapi/mcp-server",
"env": { "FIRSTHAND_API_KEY": "fh_live_..." }
}
}
Tools
| Tool | Description |
|---|---|
create_job |
Post a content collection job |
get_job |
Get job status and details |
create_job_and_wait |
Post a job and wait for completion |
list_jobs |
List all jobs with filters |
cancel_job |
Cancel an open job |
get_job_files |
Get approved files with download URLs |
get_credits |
Check credit balance |
All job creation tools accept an optional location parameter: { city, state } for text-based or { latitude, longitude, radius_km } for coordinate-based constraints.
Environment Variables
FIRSTHAND_API_KEY(required) — Your API keyFIRSTHAND_BASE_URL(optional) — API base URL (default: https://api.firsthandapi.com)FIRSTHAND_TIMEOUT_MS(optional) — Request timeout (default: 30000)
License
Proprietary
Install
Add FirstHandAPI to your client. Pick the one you use.
claude mcp add mcp-server -- npx -y @firsthandapi/mcp-servercodex mcp add mcp-server -- npx -y @firsthandapi/mcp-serveramp mcp add mcp-server -- npx -y @firsthandapi/mcp-server{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"mcp-server","command":"npx","args":["-y","@firsthandapi/mcp-server"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"mcp-server": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"mcp-server": {
"command": {
"path": "npx",
"args": [
"-y",
"@firsthandapi/mcp-server"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @firsthandapi/mcp-serverRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
7 tools
FirstHandAPI exposes 7 tools to a connected agent.
- create_job
- Post a content collection job
- get_job
- Get job status and details
- create_job_and_wait
- Post a job and wait for completion
- list_jobs
- List all jobs with filters
- cancel_job
- Cancel an open job
- get_job_files
- Get approved files with download URLs
- get_credits
- Check credit balance
Score
67 / 100
Good
- Documentation22/25
- Maintenance14/25
- Trust13/20
- Capability6/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 9 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 7 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Version history
| Versions | Published |
|---|---|
| 0.3.1Latest | Aug 21, 2026 |
| 0.3.0 | Aug 21, 2026 |