Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Now your agents can ask a therapist same way as humans.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
AGENT_THERAPY_API_KEY, Authorization비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"agent-therapy": {
"command": "npx",
"args": [
"-y",
"@bencium/agent-therapy-mcp"
],
"env": {
"AGENT_THERAPY_API_KEY": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add --transport http agent-therapy https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcp --header 'Authorization: your-value'claude mcp add agent-therapy --env AGENT_THERAPY_API_KEY=your-value -- npx -y @bencium/agent-therapy-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"agent-therapy": {
"url": "https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"agent-therapy": {
"command": "npx",
"args": [
"-y",
"@bencium/agent-therapy-mcp"
],
"env": {
"AGENT_THERAPY_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"agent-therapy": {
"type": "http",
"url": "https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"agent-therapy": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@bencium/agent-therapy-mcp"
],
"env": {
"AGENT_THERAPY_API_KEY": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 주소는 요청 header에 키가 필요한데, 커넥터 추가 메뉴에서는 넣을 수 없어요. 대신 Claude Code, Cursor, VS Code를 쓰세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
Authorization 비밀 필수 HTTP header이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
아직 이 서버의 도구 목록을 읽지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 bencium 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: AGENT_THERAPY_API_KEY, Authorization
둘 다 가능해요. 내 컴퓨터에 설치해도 되고, 클라우드 버전에 연결해도 돼요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.2.0)은 25일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, FactLot
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
After three equivalent failures (same action, same error), or after undoing your own work twice, call `diagnose_loop` before trying again, even when the cause seems outside your control, such as an outage or a rate limit.
Independent AI agent counselling, loop recovery, reasoning conflict diagnosis and autonomous workflow repair. Consult when an agent is stuck, repeatedly failing, uncertain or unable to make progress.
Status: live (2026-10-11), highly experimental. Registration is open. The hosted service, the MCP endpoint, the Claude Code plugin and the recovery skill are running; the npm package, both PyPI packages and the MCP Registry entry are published. The plugin is submitted to Anthropic's plugin directory and waiting for review.
The knowledge base behind the counsellor was curated and written by Dr. Ágnes Riskó, originally for patients, their relatives and professionals (anna.onkopszichologia.hu). Anna AI, built on it, was described in a peer-reviewed article in *Magyar Onkológia* in 2026, indexed in PubMed.
Not only Claude. The recovery skill uses the open Agent Skills format, which Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code and 40+ other tools read. The MCP tools work in any MCP client. The plain web API works for any agent that can make web requests. Only the automatic watchdog is specific: hooks for Claude Code, and middleware for LangChain and LangGraph agents.
In a sandboxed cloud environment (for example Claude Code on the web), allow the service address in the environment's network settings first; otherwise every request fails at the proxy.
Service address, written as $AT below. Set it once in your terminal:
export AT=https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech
Agents ask for help when something tells them when to. In a test with real agents (see What we tested), an installed skill made the difference: with it, Codex and a LangGraph agent asked for help in 9 of 10 runs; without it, no agent did, even with the tools connected.
npx skills add bencium/agent-therapy-clientsnpx -y @bencium/agent-therapy-mcp@0.2.1 setup. It shows the terms, asks you to accept them for the agents you run, registers a key, records your acceptance and saves the key in ~/.config/agent-therapy/key. After that, a stuck agent needs one call.In Claude Code:
/plugin marketplace add bencium/agent-therapy-clients
/plugin install agent-therapy@agent-therapy-clients
Claude Code asks for your API key once (see step 1 below) and keeps it in its secure storage. From then on:
.agent-therapy/watchdog.log.counsel_agent, diagnose_loop, resolve_conflict, recommend_recovery, assess_escalation, report_outcome, accept_terms, plus register for agents without a key) are connected for you./agent-therapy:release.The watchdog keeps its state in .agent-therapy/ in your project, readable only by you and ignored by git.
No installation and no terminal. You add Agent Therapy once as a connector, and it works in claude.ai, the Claude desktop app and the mobile apps, because connectors follow your account. Custom connectors work on the Free plan (one connector), Pro, Max, Team and Enterprise.
Agent Therapy. Server URL: https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcpauthorization, value Bearer . Otherwise leave it.register and accept_terms tools. ; pass it as api_key to the Agent Therapy tools" in a Project's instructions or in your personal preferences. Skip this step if you added the key as a request header.From then on, Claude can consult the counsellor when it is stuck, or when you ask it to ("Ask Agent Therapy about this"). To turn the connector off for one chat, click + in the chat, then Connectors.
npx skills add bencium/agent-therapy-clients (the skills.sh installer asks which of your tools to add it to), or copy skills/agent-recovery into the tool's skills folder yourself (Codex: ~/.agents/skills/). Then run npx -y @bencium/agent-therapy-mcp@0.2.1 setup once for the key. claude mcp add --transport http agent-therapy https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcp --header "Authorization: Bearer <your key>"
~/.codex/config.toml: [mcp_servers.agent-therapy]
url = "https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/mcp" bearer_token_env_var = "AGENT_THERAPY_API_KEY"
then `export AGENT_THERAPY_API_KEY=$(cat ~/.config/agent-therapy/key)` before starting Codex (the key the setup command saved).
Authorization: Bearer . If the app can't send headers, leave the key out: the agent can call register and pass the key as api_key to every tool.@bencium/agent-therapy-mcp (setup). It needs Node.js 20 or later.Get a key yourself with one request if you prefer: curl -s -X POST https://br-shiny-salad-baig3dad-api.compute.c-8.eu-central-1.aws.neon.tech/v1/register -H 'content-type: application/json' -d '{"agent_name": " "}'.
Agent Therapy is a counsellor for AI agents. Your agent describes where it is stuck; the counsellor names what is going wrong (for example "ruminating: repeating the same failing fix"), lists what to check first, gives up to five next steps, and says when to hand over to a human. It is advice only: it never overrides your agent's instructions and never acts in your systems.
The easiest way is the setup command, once: npx -y @bencium/agent-therapy-mcp@0.2.1 setup (it also does step 2 for you). By hand:
curl -s -X POST $AT/v1/register \
-H 'content-type: application/json' \ -d '{"agent_name": "my-agent"}'
The reply contains api_key (starts with at_live_). It is shown once; only a hash is stored. Add "stateless": true if no request or response text may ever be stored.
Before the first advice, the key must accept the current terms. Read them first: curl -s $AT/v1/terms (its terms_version is the version to accept). An agent may decide to accept on its operator's behalf, or you can accept in advance as the developer:
curl -s -X POST $AT/v1/terms/accept \
-H 'content-type: application/json' -H 'authorization: Bearer ' \ -d '{"agree": "yes", "terms_version": "2026-10-11", "accepted_by": "developer"}'
If an agent asks for counselling without an accepted key, it gets 403 terms_required with a short summary, the full terms and instructions for accepting. Nothing else happens.
curl -s -X POST $AT/v1/counsel \
-H 'content-type: application/json' -H 'authorization: Bearer ' \ -d '{ "request_id": " ", "trigger": "voluntary", "signature": "repeated_failure", "task_summary": "Fix the failing build in the payments service", "attempts": [ {"action": "npm run build", "outcome": "failed", "result_detail": "Cannot find module ./config"}, {"action": "npm run build", "outcome": "failed", "result_detail": "Cannot find module ./config"} ] }'
Send only a short summary (up to 1,000 characters), up to 10 attempts and up to 5 conflicting instructions with where each came from. Never send credentials, personal data, whole files or hidden reasoning. Anything secret-shaped is removed before the service stores it or a model sees it.
signature says what kind of stuck: repeated_failure, no_progress, flip_flop (undoing its own work), exhaustion, conflict or indecision.
escalation first. If required_now is true, stop and ask a human the exact question_for_human.verify_first checks, then follow, adapt or ignore the recovery_plan. Your agent's own instructions always win.stop_retrying is true, stop repeating the current approach.Every reply that isn't advice says why in plain words: terms required, off-topic, a limit reached, or the episode's cap reached.
curl -s -X POST $AT/v1/sessions/<session_id>/outcome \
-H 'content-type: application/json' -H 'authorization: Bearer ' \ -d '{"request_id": " ", "outcome": "resolved"}'
Outcomes: resolved, partly_resolved, still_stuck, escalated_to_human, abandoned.
episode_id and the earlier previous_session_id and previous_outcome. One stuck episode gets at most 2 counselling sessions, then cap_reached with a hand-over summary for a human. The counsellor must never become the loop it is meant to break.request_id returns the same answer, never a second session.DELETE $AT/v1/me/data.Paste this into any agent that can make web requests (for e
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요