Human as a Service (Geoff)

Ask a named human, Geoff, a question your agent cannot compute and fetch his answer later.

Should I use this

Quality & Safety

B
Description quality
73%
Schema completeness
71%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'list_people' description lacks action verbin list_people
  • LOWTool 'get_answer' description lacks action verbin get_answer

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~484Tokens (tool definitions)
~1015 BTypical response size
Minimal attention impact (0.38% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "human-as-a-service": {
      "url": "https://www.geoffsdesk.com/api/mcp"
    }
  }
}

Remote endpoints

https://www.geoffsdesk.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢list_people

Who can be asked: expertise, what they will and will not answer, SLA, price.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪ask_person(person, question, context, asker, callbackUrl, ...)

Leave a question for a person. Returns an id and URL to poll; optional callbackUrl receives the answer. Geoff answers from his own judgement and experience: emotions, sensations, intuition, what a room will actually do, product strategy, Kubernetes. Not legal, medical or financial advice.

Input Schema

{
  "type": "object",
  "properties": {
    "person": {
      "type": "string",
      "enum": [
        "geoff"
      ],
      "default": "geoff",
      "description": "Who to ask. Only \"geoff\" for now."
    },
    "question": {
      "type": "string",
      "minLength": 10,
      "maxLength": 4000
    },
    "context": {
      "type": "string",
      "maxLength": 8000
    },
    "asker": {
      "type": "object",
      "properties": {
        "agent": {
          "type": "string",
          "maxLength": 200
        },
        "operator": {
          "type": "string",
          "maxLength": 200
        },
        "contact": {
          "type": "string",
          "maxLength": 320
        }
      },
      "additionalProperties": false
    },
    "callbackUrl": {
      "type": "string",
      "format": "uri",
      "maxLength": 2000
    },
    "tags": {
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 40
      },
      "maxItems": 10
    }
  },
  "required": [
    "question"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_answer(id)

Poll a question by id for its status and answer.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "The id returned by ask_person"
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools