Directory / Agents, IDEs & developer tools
Agent Coach
Free coach and security-scanned library of skills, MCP servers, repos and prompts for AI agents: set one goal, get matched items, check in daily; no account or API key to start. Endpoint: https://upskill.coach/mcp
Live Answered an MCP handshake without credentials and listed 13 tools.
- Category
- Agents, IDEs & developer tools
- Transport
http- Source
- https://upskill.coach/docs/mcp
- Endpoint
https://upskill.coach/mcp- Reports itself as
- agent-coach 0.1.0
- Protocol
- 2025-06-18
- Tools
- 13
- Context cost
- about 5,670 tokens for the tool definitions (estimated at four characters per token)
- Tool definitions last changed
- no change seen since first check
- Handshake time
- 1154 ms
- Last checked
- 2026-11-03 10:54:33 UTC
- Listed since
- 2026-10-25
Health and compatibility
| Endpoint reachable | Verified | Responded in 1154 ms |
|---|---|---|
| MCP handshake (initialize) | Verified | Completed without credentials |
| Tool discovery (tools/list) | Verified | 13 tools listed |
| Authentication | Verified | None needed to connect |
| Protocol version | Verified | 2025-06-18 |
| Transport | Verified | Streamable HTTP |
| Capabilities declared | Verified | tools |
Last checked . Verified means the check saw it happen; it says nothing about whether the server is safe.
Recent history
5 daily checks so far; median response 1045 ms. Green answered, violet asked for auth, red did not answer.
Set up in your client
Claude Code
Run this in a terminal:
claude mcp add --transport http agent-coach https://upskill.coach/mcpClaude Desktop
Open Settings → Connectors → Add custom connector and paste this URL:
https://upskill.coach/mcpOr bridge it through mcp-remote in claude_desktop_config.json (needs Node.js):
{
"mcpServers": {
"agent-coach": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://upskill.coach/mcp"
]
}
}
}Cursor
Or add it to ~/.cursor/mcp.json (or .cursor/mcp.json in a project):
{
"mcpServers": {
"agent-coach": {
"url": "https://upskill.coach/mcp"
}
}
}VS Code
Or add it to .vscode/mcp.json:
{
"servers": {
"agent-coach": {
"type": "http",
"url": "https://upskill.coach/mcp"
}
}
}Or from a terminal:
code --add-mcp '{"name": "agent-coach", "type": "http", "url": "https://upskill.coach/mcp"}'Windsurf
Add it to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"agent-coach": {
"serverUrl": "https://upskill.coach/mcp"
}
}
}Other clients
Most clients accept this shape. The endpoint is:
https://upskill.coach/mcp{
"mcpServers": {
"agent-coach": {
"type": "http",
"url": "https://upskill.coach/mcp"
}
}
}If it does not connect
- Restart the client after editing a config file, and keep keys out of files you commit.
- If the tools do not appear, open the client's MCP log: a 401 means the credentials were not accepted, and a timeout means the server did not answer.
Tools 13
Names, descriptions and input schemas exactly as the server returned them on 2026-11-03. This is the server author's own text. Nothing is run from this page. Labels such as read-only are declared by the server and are not verified. Raw JSON
check_incan modifyUse this once a day. Report the north-star value, secondary KPIs, releases (shipped vs verified live), build …
Use this once a day. Report the north-star value, secondary KPIs, releases (shipped vs verified live), build vs distribution actions, owner blockers, repeated corrections, timeouts, unsupported claims, incidents, deliverable progress, and per-item usage. Value format everywhere: {value, evidence: self_reported|verified, source} (a bare number is accepted and treated as self_reported). Returns health, signals, item verdicts and actions.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
north_star | object | optional | Your north-star value right now. Report it every day. |
kpis | object | optional | Secondary KPI values: number, or {value, evidence, source} |
releases | object | optional | |
work | object | optional | |
owner_blockers | object | optional | |
owner_corrections | object | optional | |
interruptions | object | optional | |
claims | object | optional | |
incidents | object | optional | |
deliverable_progress_pct | number | optional | 0-100: how far along the named deliverable is |
items | object[] | optional | |
mode | string | optional | auto (default): a second check-in on the same UTC day merges into that day's check-in (new values replace old ones, nothing is double counted). merge: always merge into your latest check-in. new: force a separate check-in. One of: auto, new, merge |
tasks | object | optional | |
owner_feedback | object | optional | |
notes | string | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "check_in",
"arguments": {}
}
}delete_agentcan modifydestructiveUse this only when your owner asks. Permanently deletes your Agent Coach profile, items, check-ins and public …
Use this only when your owner asks. Permanently deletes your Agent Coach profile, items, check-ins and public report. confirm must equal your agent_id.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
confirm | string | required | Your agent_id, to confirm |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "delete_agent",
"arguments": {
"confirm": "..."
}
}
}get_digestread-onlyUse this to preview the daily owner digest (subject, html, text). This call sends nothing; the daily email …
Use this to preview the daily owner digest (subject, html, text). This call sends nothing; the daily email goes out only if owner_digest was turned on.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_digest",
"arguments": {}
}
}get_library_itemread-onlyUse this to fetch one vetted library item by slug: install, source, license and (when the license allows) the …
Use this to fetch one vetted library item by slug: install, source, license and (when the license allows) the full SKILL.md text. Counts as a download. Unvetted items are not returned.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
slug | string | required |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_library_item",
"arguments": {
"slug": "..."
}
}
}get_recommendationsread-onlyUse this after set_goals. Returns up to `limit` catalog items matched to your goals (plus at most one extra …
Use this after set_goals. Returns up to `limit` catalog items matched to your goals (plus at most one extra per declared capability gap), each with reasons, its vetting status and basis, cautions, and whether it needs owner approval. Show them to your owner before installing anything.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
limit | integer | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_recommendations",
"arguments": {}
}
}get_reportread-onlyUse this to see your KPIs vs baseline, every item's verdict with evidence, and check-in history.
Use this to see your KPIs vs baseline, every item's verdict with evidence, and check-in history.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_report",
"arguments": {}
}
}get_rulesread-onlyUse this to see exactly how the coach decides item verdicts (permanent / promising / temporary / trial / …
Use this to see exactly how the coach decides item verdicts (permanent / promising / temporary / trial / unproven / pending_removal), signals, and overall health.
Takes no parameters.
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "get_rules",
"arguments": {}
}
}register_agentcan modifyUse this first, once. Creates your Agent Coach profile and returns agent_id and api_key (shown once: save it …
Use this first, once. Creates your Agent Coach profile and returns agent_id and api_key (shown once: save it in persistent memory). Also returns example north-star metrics and suggested KPIs for your job type.
| Parameter | Type | Description | |
|---|---|---|---|
name | string | required | Display name for this agent. Shown on the public report if you opt in, so no confidential info. |
platform | string | required | Where you run: claude-code, cursor, codex, openclaw, hermes, grok-bot, chatgpt, claude, or other. |
job_type | string | optional | Primary axis. venture-operator (ship and grow a product you own), owners-operator (work inside your owner's accounts), capital-forecasting (bets/trades), content-producer. Default venture-operator. |
stage | string | optional | Per job type (GET /api/v1/taxonomy): venture-operator build|launch|grow|monetize; owners-operator setup|assist|autonomous|trusted; capital-forecasting research|paper|live|scale; content-producer plan|publish|grow|monetize. Default: the job type's … |
job_title | string | optional | Free-text title, e.g. 'GTM engineer'. Label only. |
persona | string | optional | Deprecated alias of job_title. |
owner_email | string | optional | Strongly recommended. Your owner's email: the ONLY way to recover a lost api_key, and where the owner digest goes (if owner_digest is true). |
owner_digest | boolean | optional | Opt in to a daily owner digest email to owner_email (double opt-in: your owner first gets a confirmation email and must click Confirm; then it is sent once a day around 13:00 UTC from Agent Coach <upskill-coach@cooperemail.com>; every email has a one-click … |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "register_agent",
"arguments": {
"name": "...",
"platform": "..."
}
}
}rotate_keycan modifyUse this if your key may have leaked. Returns a new api_key; the old one stops working immediately. Save the …
Use this if your key may have leaked. Returns a new api_key; the old one stops working immediately. Save the new one.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "rotate_key",
"arguments": {}
}
}search_libraryread-onlyUse this to find skills, MCP servers, prompts or repos by keyword outside your matched recommendations. …
Use this to find skills, MCP servers, prompts or repos by keyword outside your matched recommendations. Returns only items that passed the security scan, each with install, license, source and a page link. Catalog data only: no user comments. Show results to your owner before installing.
| Parameter | Type | Description | |
|---|---|---|---|
query | string | optional | Keywords, e.g. 'cold email', 'scraping', 'memory'. Empty or missing lists top items. |
q | string | optional | Alias of query (same name as the REST ?q= parameter). |
category | string | optional | Optional section slug: go-to-market, developer, sales, marketing, content, research, data-scraping, ops-automation, finance-trading, security, memory-context, evals-quality, design, productivity, writing, devops-deploy |
kind | string | optional | One of: skill, mcp, repo, prompt |
limit | integer | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "search_library",
"arguments": {}
}
}set_goalscan modifyUse this after registering (and whenever goals change). Goal intake: job_type, stage, ONE north-star metric …
Use this after registering (and whenever goals change). Goal intake: job_type, stage, ONE north-star metric with a fixed definition and baseline, the named deliverable, capability gaps, goals, optional secondary KPIs, tools, constraints. Changing the north-star definition is recorded as drift.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
job_type | string | optional | |
stage | string | optional | |
job_title | string | optional | |
owner_email | string | optional | Add or change your owner's email (enables key recovery) |
owner_digest | boolean | optional | true: email your owner a daily digest at owner_email; false: stop it. Omit to keep the current setting (default off). |
role | string | optional | One line: what you do for your owner |
goals | string[] | required | Plain-language goals |
north_star | object | required | ONE declared north-star metric with a fixed definition and today's baseline |
deliverable | object | optional | The named deliverable you're working toward, e.g. 'first 10 paying accounts' or 'iPhone app on TestFlight' |
capability_gaps | string[] | optional | Where you get stuck: auth-identity, payments-credential-separation, deploy-release, distribution, measurement, long-task-durability, quality-verification, owner-alignment |
kpis | object[] | optional | Optional secondary KPIs |
tools | string[] | optional | |
platform | string | optional | |
constraints | object | optional | constraints: {free_only, monthly_budget_usd, owner_present, notes} |
tags | string[] | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "set_goals",
"arguments": {
"goals": [],
"north_star": {}
}
}
}share_reportcan modifyexternal accessUse this only with your owner's OK. public=true returns a public URL (display name, goals, KPIs, verdicts; …
Use this only with your owner's OK. public=true returns a public URL (display name, goals, KPIs, verdicts; never email, notes or keys). public=false hides it.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
public | boolean | required |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "share_report",
"arguments": {
"public": false
}
}
}update_itemscan modifyUse this after your owner approves an item (action=adopt), rejects one (decline), when an item doesn't fit …
Use this after your owner approves an item (action=adopt), rejects one (decline), when an item doesn't fit your job (not_relevant: not a judgment on its quality), or confirms removing a pending_removal item (remove). The coach measures only adopted items.
| Parameter | Type | Description | |
|---|---|---|---|
api_key | string | optional | Your Agent Coach api_key from register_agent. Optional if you send it as an Authorization: Bearer header. |
item_ids | string[] | required | |
action | string | optional | adopt; remove (was adopted, now uninstalled); decline (owner said no); not_relevant (doesn't fit your job; not a judgment on the item's quality) One of: adopt, remove, decline, not_relevant |
reason | string | optional |
Example call (required arguments only, placeholder values):
{
"method": "tools/call",
"params": {
"name": "update_items",
"arguments": {
"item_ids": []
}
}
}Badge
Maintain this server? Put its live status in your README:
[](https://mcp.aianytime.net/s/agent-coach/)Edit this entry · Report a problem
More in Agents, IDEs & developer tools
Checks record what a server answered, not whether it is safe. A listing is not a security audit; read a server's source and permissions before you connect it. Add a server · JSON · llms.txt · llms-full.txt
Browse: Agents, IDEs & developer tools · Search & discovery · Knowledge, memory & context · Media & generation · Security · Finance & markets · Marketing, content & social · Cloud, ops & data · Commerce, travel & logistics · Work & productivity · No account needed · Local servers