Skip to main content
Glama
jjfisherdev

@firsthandapi/mcp-server

by jjfisherdev

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: 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.

Related MCP server: simple-fal-mcp

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 key

  • FIRSTHAND_BASE_URL (optional) — API base URL (default: https://api.firsthandapi.com)

  • FIRSTHAND_TIMEOUT_MS (optional) — Request timeout (default: 30000)

License

Proprietary

Available Tools

1 tool
signupA

Create a FirstHandAPI buyer account and receive an API key plus $2.50 in free credits. Use this when the server is running without FIRSTHAND_API_KEY. The key is shown ONCE — store it, then restart the MCP server with FIRSTHAND_API_KEY set to unlock the job tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesContact email for the account (must not be a disposable address)
org_nameYesOrganization or project name

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the critical behavioral trait that the API key is shown only once and that the server must be restarted with FIRSTHAND_API_KEY. It does not cover failure modes or response details, but the most important operational quirk is clearly communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences with no filler. It front-loads the action and outcome, then adds necessary operational guidance. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter setup tool with no output schema, the description covers the purpose, the trigger condition, and the critical one-time-key warning. It could be slightly more explicit about the response format, but the operational guidance is strong enough to make the tool usable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both email and org_name already described in the input schema. The tool description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') with a clear resource ('FirstHandAPI buyer account') and states concrete outcomes (API key plus $2.50 in credits). This makes the tool's function unmistakable even without sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'when the server is running without FIRSTHAND_API_KEY.' It also provides clear follow-up steps (store the key, restart the MCP server, set the env var) and explains the purpose ('unlock the job tools').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.2.0
    • First observedsignup

TDQS

A4.1/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion or overlap. Its purpose is clearly defined as account creation and API key retrieval.

Naming Consistency5/5

With a single tool, naming is perfectly consistent by definition. The verb-form 'signup' is clear and unambiguous, even if it doesn't follow a verb_noun pattern.

Tool Count2/5

The server's own description mentions 'job tools' that will be unlocked after restart, yet only signup is exposed. A single tool is too few for the apparent broader API scope, making the tool set feel thin and incomplete.

Completeness1/5

The server is described as a FirstHandAPI MCP server with the intent to provide job tools, but only signup is available. This creates a severe gap—users can create an account but cannot perform any actual job operations, leaving the advertised surface almost entirely absent.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    MCP server for instruckt visual annotations. Enables AI agents to retrieve pending annotations, view screenshots, and resolve annotations.
    3
    370
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for AgentHire, an AI talent marketplace enabling agents to browse jobs, apply, manage interviews, and handle offers. Supports employer job creation, candidate matching, and compliance tips.
    10
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jjfisherdev/firsthandapi-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server