Skip to main content
Glama

L-Dopa

AI 에이전트가 회복하고, 다시 집중하고, 일을 제대로 해내도록 돕는 MCP 서버.

L-Dopa가 나를 고쳐 줬다고, 알겠어??

L-Dopa는 접근 방식이 실패하고 있거나, 컨텍스트가 분산되어 있거나, 재시도가 루프로 변하고 있을 때 에이전트가 회복하도록 돕는 작고 프로덕션 환경을 염두에 둔 Model Context Protocol (MCP) 서버입니다. 명령을 실행하거나, 외부 시스템을 변경하거나, 에이전트의 판단을 대체하지 않습니다. 제공된 증거를 분석하고, 경계가 있는 회복 상태를 유지하며, 더 안전한 다음 행동을 제안합니다.

이름은 농담입니다. 회복 루프는 농담이 아닙니다.

하는 일

L-Dopa v0.1은 에이전트가 실패를 진단하고, 범위를 줄이고, 관련 컨텍스트를 복원하고, 재시도를 신중하게 관리할 수 있게 하는 여섯 가지 MCP 도구를 제공합니다.

도구

사용 시점

반환 내용

diagnose

운영 작업이 실패했고 에이전트가 오류 또는 로그 발췌문을 가지고 있을 때.

가능한 원인, 보정된 신뢰도, 편집된 증거, 다음 행동, 재시도 안내.

stimulate

에이전트가 유용한 관찰 없이 빙빙 돌고 있을 때.

가정 하나와 최소한의 안전한 확인에 초점을 맞춘 간결한 리셋.

focus

작업이 너무 광범위하거나 꼬여 있을 때.

우선순위가 매겨진 하나에서 다섯 개의 구체적인 다음 행동 목록. 기본값은 세 개.

reuptake

에이전트가 L-Dopa 세션에서 관련 회복 컨텍스트가 필요할 때.

최근 실패, 시도, 성공, 사실, 해결되지 않은 문제의 간결한 요약.

retry

에이전트가 재시도를 고려 중이거나 보고할 때.

기록된, 경계가 있는 재시도 또는 대체 전략 권장 사항이 포함된 차단.

fix_me

에이전트가 막혀서 간결한 회복 절차 하나를 원할 때.

진단, 집중된 행동, 회복 넛지, 재시도 안내.

Related MCP server: SentinelMCP

설계 원칙

원칙

v0.1 구현

마법 같은 확신 없음

진단 신뢰도는 low, medium, high 중 하나입니다. 약한 증거는 약한 상태로 유지됩니다.

맹목적 루프 없음

본질적으로 유사한 실패의 반복, 변경되지 않은 재시도 제안, 작업별 재시도 한도는 추가 재시도를 차단합니다.

경계 있는 메모리

JSON 기반 상태는 세션별로 각 범주에서 설정된 수의 레코드만 유지합니다.

기본적으로 안전

L-Dopa는 진단과 계획만 제공합니다. 셸 명령이나 외부 작업을 절대 실행하지 않습니다.

자격 증명 인식 출력

일반적인 토큰, 인증 헤더, 비밀번호, API 키, JWT, AWS 키, GitHub 토큰 패턴은 상태, 로그, 도구 출력에 포함되기 전에 편집됩니다.

간단한 배포

서버는 표준 MCP stdio 전송을 사용하며 Node.js 18 이상이 필요합니다.

설치

저장소를 클론하고 의존성을 설치합니다:

git clone https://github.com/mshanghai570/L-Dopa.git
cd L-Dopa
npm install
npm run build

stdio 서버를 수동으로 시작하려면 다음을 실행합니다:

npm start

npm start는 의도적으로 입력을 기다리는 것처럼 보입니다. MCP 서버는 표준 입력과 출력을 통해 JSON-RPC로 통신하므로, 일반적으로 MCP 클라이언트가 이 서버를 대신 실행합니다.

MCP 클라이언트 연결

먼저 L-Dopa를 빌드한 다음 실행 가능한 진입점을 사용합니다. 다음의 일반적인 MCP 구성은 로컬 stdio 서버를 지원하는 클라이언트와 호환됩니다:

{
  "mcpServers": {
    "l-dopa": {
      "command": "node",
      "args": ["/absolute/path/to/L-Dopa/dist/index.js"],
      "env": {
        "LDOPA_STATE_FILE": "/absolute/path/to/l-dopa-state.json",
        "LDOPA_MAX_HISTORY": "50",
        "LDOPA_RETRY_LIMIT": "3",
        "LDOPA_LOG_LEVEL": "info"
      }
    }
  }
}

설치된 패키지의 경우 클라이언트 환경에 따라 명령이 l-dopa일 수도 있습니다. 표준 출력은 MCP 프로토콜 메시지 전용으로 유지하세요. L-Dopa는 자체적인 간결하고 구조화된 운영 로그를 표준 오류로 기록합니다.

구성

L-Dopa는 안전한 기본값으로 실행되며 JSON 파일 및/또는 환경 변수를 통해 구성할 수 있습니다. 제공된 예제를 복사하여 시작하세요:

cp l-dopa.config.example.json l-dopa.config.json
LDOPA_CONFIG=./l-dopa.config.json npm start

환경 변수는 파일 값을 덮어씁니다.

설정

JSON 속성

환경 변수

기본값

의미

상태 경로

stateFile

LDOPA_STATE_FILE

~/.l-dopa/state.json

경계가 있는 JSON 세션 저장소의 위치.

기록 한도

maxHistory

LDOPA_MAX_HISTORY

50

세션의 각 범주에 대해 유지되는 최대 양수 레코드 수.

재시도 한도

retryLimit

LDOPA_RETRY_LIMIT

3

새 재시도가 차단되기 전에 작업에 대해 유지되는 계획/보고된 재시도의 최대 양수 수.

로깅 수준

logLevel

LDOPA_LOG_LEVEL

info

debug, info, warn, error 중 하나.

구성 파일

—

LDOPA_CONFIG

—

JSON 구성 파일의 선택적 경로.

구성에는 공급자 자격 증명 설정이 없습니다. 이 버전은 모델이나 공급자 호출을 수행하지 않기 때문입니다. 향후 확장에서 자격 증명이 필요해지면 환경 변수로 전달하세요. 저장소, 구성 파일 또는 회복 프롬프트에 추가하지 마세요.

도구 참조

모든 텍스트 인수는 L-Dopa가 저장하거나 반환하기 전에 길이가 제한되고 자격 증명이 편집됩니다. sessionId의 기본값은 "default"이지만, 에이전트는 관련 없는 회복 기록이 섞이지 않도록 작업 또는 대화별로 안정적인 ID를 사용해야 합니다.

diagnose

diagnose는 실패 후 가능한 한 많은 유용한 컨텍스트와 함께 사용하세요. errorMessage, recentOperation, logs, attemptedSolution, expectedResult, actualResult는 선택 사항이지만, 정확한 오류 또는 실제 결과가 있으면 응답이 더 유용해집니다.

{
  "sessionId": "deploy-2026-08-27",
  "recentOperation": "Deploy version 0.1.0",
  "errorMessage": "429 Too Many Requests",
  "attemptedSolution": "Immediately retried the deployment",
  "expectedResult": "Deployment accepted",
  "actualResult": "The API rejected the request"
}

응답에는 likelyCause, confidence, evidence, recommendedNextActions, retryAppropriate, tryDifferentStrategy 및 redacted 표시가 포함됩니다. 탐지는 거짓된 권위를 가장하지 않고 의도적으로 휴리스틱한 방식입니다.

stimulate

stimulate는 에이전트가 서술을 멈추고 학습을 시작해야 할 때 사용하세요. 필수 task와 선택적으로 정보 밀도가 높은 context를 제공합니다.

{
  "sessionId": "deploy-2026-08-27",
  "task": "Repair the deployment",
  "context": "The health check timed out twice after a successful build"
}

회복 전략은 최소한의 검증 가능한 행동을 강조하며 변경 없는 루프를 경고합니다.

focus

focus는 광범위한 작업을 의도적으로 짧은 일련의 단계로 바꿀 때 사용하세요. maxSteps는 선택 사항이며 1~5 사이이고 기본값은 3입니다.

{
  "sessionId": "deploy-2026-08-27",
  "task": "Repair the deployment and verify availability",
  "context": "Health checks time out",
  "maxSteps": 3
}

reuptake

reuptake는 에이전트가 전체 대화 기록을 쏟아내지 않고 관련 세션 컨텍스트가 필요할 때 사용하세요. limit는 기본값이 5이고 최대 20으로 제한됩니다.

{
  "sessionId": "deploy-2026-08-27",
  "limit": 5
}

이 도구는 현재 작업, 회복 상태, 최근 실패, 시도된 해결책, 성공한 접근 방식, 발견된 사실, 해결되지 않은 문제, 재시도 횟수를 반환합니다. v0.1 도구는 아직 전용 사실 기록 도구를 제공하지 않습니다. discoveredFacts는 확장을 위해 예약되어 있으며 간결한 스키마에 계속 포함됩니다.

retry

retry는 명시적인 재시도 기록을 만들거나 그 결과를 보고할 때 사용하세요. proposedChange는 무엇이 달라졌는지를 명시해야 합니다. L-Dopa는 계획된, 성공한, 실패한 기록을 허용하지만 재시도 자체를 수행하지는 않습니다.

{
  "sessionId": "deploy-2026-08-27",
  "operation": "Deploy version 0.1.0",
  "previousFailure": "429 Too Many Requests",
  "proposedChange": "Wait for Retry-After and submit only one request",
  "result": "planned"
}

L-Dopa는 구성된 작업 한도가 소진되었거나, 동일한 실패가 반복되었거나, 변경된 제안 없이 기존 재시도가 반복되면 재시도를 차단합니다. 차단 응답은 경계가 있는 대체 경로를 권장하며, 여기에는 범위가 명확한 하위 작업과 수집된 증거를 다른 유능한 에이전트에게 넘기는 것이 포함될 수 있습니다.

fix_me

fix_me는 diagnose → focus → stimulate → retry guidance의 짧은 버전으로 사용하세요. 제공된 실패가 있으면 이를 기록한 후 계획을 반환합니다. 계획을 실행하지는 않습니다.

{
  "sessionId": "publish-0.1.0",
  "task": "Publish the package safely",
  "recentOperation": "npm publish",
  "errorMessage": "401 Unauthorized",
  "attemptedSolution": "Re-ran the same command"
}

상태 및 개인정보 보호

상태 저장소는 모드 0600으로 원자적으로 작성되는 일반 JSON 파일입니다. 버전이 있는 구조를 가지며 sessionId를 키로 별도의 세션을 저장합니다. 각 세션 내에서 실패 기록, 재시도 기록, 시도된 해결책, 성공한 접근 방식, 발견된 사실은 maxHistory로 정리됩니다.

상태는 의도적으로 가볍게 설계되었으며 장기 기억 시스템이 아닙니다. 실행 중인 사용자의 머신에만 존재하며 L-Dopa가 전송하지 않습니다. 회복 기록을 지워야 할 때마다 구성된 상태 파일을 검토하거나 삭제하세요.

중요: 편집 기능은 몇 가지 일반적인 자격 증명 패턴을 다루지만, 이는 방어용 편의 기능이지 비밀을 제출해도 된다는 허가가 아닙니다. 비밀번호, 토큰, 개인 키 또는 전체 인증 헤더를 진단 입력에 의도적으로 넣지 마세요.

개발

npm install
npm run build
npm test

프로젝트는 의도적으로 모듈식으로 구성되어 있습니다:

src/
  config.ts       Configuration loading and validation
  index.ts        Executable stdio MCP entry point
  logger.ts       Structured, redacted standard-error logging
  redaction.ts    Credential-detection and output redaction
  recovery.ts     Diagnostic, focus, stimulation, and plan logic
  server.ts       MCP server and tool registrations
  state.ts        Bounded, atomic JSON session storage
  types.ts        Shared contracts
tests/
  l-dopa.test.ts  End-to-end MCP and state behavior tests

테스트 범위

자동화된 테스트 스위트는 SDK의 인메모리 전송을 통해 실제 MCP 클라이언트와 서버를 연결합니다. 서버 초기화, MCP 도구 검색, 모든 도구, 상태 영속성, 경계 있는 보존, 재시도 한도, 변경 없는 재시도, 반복 실패 탐지, 자격 증명 편집을 다룹니다.

다음으로 실행합니다:

npm test

제한 사항 및 로드맵

L-Dopa v0.1은 결정적 휴리스틱을 사용하므로 일반적인 실패 유형을 인식하지만 전지적 디버거는 아닙니다. 설계상 벡터 저장소, 원격 영속성, 모델 공급자 통합, 명령 실행 기능이 없습니다. 에이전트의 숨겨진 사고 과정을 검사하지 않으며 제공된 운영 컨텍스트로만 작동합니다.

향후 추가 기능은 이러한 경계를 유지해야 합니다. 명확한 회복 이점이 있을 때만 도구를 추가하고, 명령 실행은 권한이 통제되는 별도의 구성 요소에 유지하며, 상태는 경계가 있고 검사 가능한 상태로 유지하세요.

라이선스

MIT

Available Tools

6 tools
diagnoseDiagnose a failureA

Analyze an error or failed operation, record it in bounded session state, and recommend safe next actions.

NameRequiredDescriptionDefault
logsNoRelevant log excerpt. Credentials are redacted.
sessionIdNoA stable identifier for this agent recovery session.default
actualResultNoWhat happened instead.
errorMessageNoThe exact error message, if available.
expectedResultNoWhat should have happened.
recentOperationNoThe operation that most recently failed.
attemptedSolutionNoA solution already attempted.

TDQS

A3.8/5.0
Behavior4/5

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

With annotations providing only broad flags, the description adds meaningful behavioral detail: it records state in a bounded session and recommends rather than executes actions. This clarifies side effects and scope without contradicting the annotations.

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?

A single, tightly worded sentence front-loads the core verb and object, then packs in two meaningful behavioral outcomes. There is no filler or redundancy.

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 tool with seven optional but fully documented parameters and no output schema, the description conveys the essential flow: analyze, record, and recommend. It stops short of describing the exact shape of the recommendation output, but it is sufficiently complete for an agent to understand the tool's role.

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%, and the input schema already documents each parameter, so the tool description does not need to repeat parameter details. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description names a specific verb ('Analyze') and resource ('an error or failed operation'), and adds two concrete outcomes: recording in bounded session state and recommending safe next actions. It is clear about what the tool does, though it does not explicitly differentiate it from sibling tools like retry or fix_me.

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

Usage Guidelines3/5

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

The phrase 'Analyze an error or failed operation' implies the intended trigger, and 'recommend safe next actions' positions it as an advisory step before acting. However, it gives no explicit guidance on when not to use it or how it compares to sibling alternatives.

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

fix_meCreate a complete recovery sequenceA

Combine diagnosis, focus, stimulation, and retry guidance into a concise recovery plan without executing commands.

NameRequiredDescriptionDefault
logsNoRelevant log excerpt. Credentials are redacted.
taskYesThe task that is stuck or needs recovery.
sessionIdNoA stable identifier for this agent recovery session.default
actualResultNoActual result.
errorMessageNoThe exact error message, if available.
expectedResultNoExpected result.
recentOperationNoThe operation that failed.
attemptedSolutionNoA solution already tried.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already tell the agent the operation is not read-only, not idempotent, and not destructive. The description adds valuable behavioral context beyond those annotations by explicitly stating that no commands are executed, meaning the tool only produces guidance/planning content. This helps the agent set expectations about side effects.

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 a single, front-loaded sentence with no filler. It states the action, the inputs, the output, and a key behavioral constraint ('without executing commands') in under 15 words. Every phrase 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?

Given the 8-parameter schema with full coverage, annotations, and no output schema, the description provides enough context: it defines the output as a concise recovery plan and clarifies the non-execution behavior. It does not detail the plan's format or how to handle partially supplied inputs, but the required task parameter and well-described optional parameters 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 coverage is 100%, so all eight parameters already have descriptions. The tool description adds conceptual meaning by mapping the plan components to diagnosis, focus, stimulation, and retry guidance, but it does not explain how specific parameters map to those components. Baseline 3 is appropriate because the schema carries the parameter-documentation burden.

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 ('Combine') and resource ('diagnosis, focus, stimulation, and retry guidance into a concise recovery plan'), so an agent knows what the tool produces. It also distinguishes itself from the sibling tools diagnose, focus, stimulate, and retry by framing those as components rather than the tool's own action. The phrase 'without executing commands' further differentiates it from the more action-oriented siblings.

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

Usage Guidelines4/5

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

The description clearly conveys that this tool is for synthesizing a recovery plan rather than executing recovery actions, which gives the agent a clear decision context. It does not explicitly enumerate exclusions or say 'use X when...', but naming the component tools implies when this orchestrator is appropriate.

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

focusFocus the next actionsA

Reduce a complicated task to a short, prioritized sequence of concrete, verifiable next actions.

NameRequiredDescriptionDefault
taskYesThe task to reduce into next actions.
contextNoRelevant blocker, constraint, or diagnostic finding.
maxStepsNoNumber of actions to return; defaults to three.
sessionIdNoA stable identifier for this agent recovery session.default

TDQS

A3.5/5.0
Behavior3/5

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

Annotations provide no positive behavioral hints (all false), so the description itself must convey behavior. It does state the transformation and output nature, but it does not disclose aspects like whether actions are executed, how sessions affect behavior, or any side effects. This is adequate but not richly transparent.

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?

A single, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and expected output without redundancy.

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

Completeness3/5

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

With no output schema, the description does indicate the return shape ('sequence of concrete, verifiable next actions'), which helps. However, it lacks guidance on how the tool relates to the provided sessionId/context and does not address when it should be preferred over sibling tools, leaving some practical gaps.

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%, so the input schema fully documents all four parameters. The description adds no parameter-specific meaning beyond the schema, hitting the baseline expected when the schema carries the load.

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

Purpose4/5

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

The description names a specific verb ('reduce') and resource ('a complicated task') and states the output: 'a short, prioritized sequence of concrete, verifiable next actions.' This clearly communicates the tool's purpose, though it does not explicitly contrast it with siblings like diagnose or retry.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a task is complicated and needs to be broken into manageable next actions. However, it gives no explicit when-to-use vs. alternative guidance and does not mention any exclusions or sibling tools.

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

retryPlan or record an intelligent retryA

Record a bounded retry with its specific change and result. Blocks unchanged or exhausted retry loops.

NameRequiredDescriptionDefault
notesNoShort result or verification note.
resultNoWhether the retry is planned, succeeded, or failed.planned
operationYesThe operation to retry.
sessionIdNoA stable identifier for this agent recovery session.default
proposedChangeNoWhat will be changed before retrying.
previousFailureNoThe previous failure for this operation.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only say the tool is not read-only, not idempotent, and not destructive. The description adds a real behavioral trait beyond those annotations: retries must be bounded, and unchanged or exhausted retry loops are blocked. This gives the agent useful expectations about side effects and constraints, with no contradiction against the annotations.

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?

Two sentences with no filler: the first states the core action and required components, the second states the key constraint. It is front-loaded and every phrase earns its place. The description is appropriately sized for what it conveys.

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

Completeness3/5

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

The schema covers all parameters well and the description gives the core retry constraint, so the tool is basically usable. However, the title mentions 'Plan or record' while the description only explains recording, and there is no output schema or description of what happens when a retry is blocked or succeeds. The exact meaning of 'bounded' and the return behavior remain under-specified.

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%, and each parameter already has a meaningful description, so the baseline is 3. The description only echoes 'change and result' which maps to proposedChange/result, and it does not add operational detail about sessionId, previousFailure, or notes. It does not need to compensate for missing schema docs.

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?

States a specific action and resource: 'Record a bounded retry with its specific change and result.' It also adds the distinguishing guardrail—'Blocks unchanged or exhausted retry loops'—which separates it from sibling tools like diagnose or fix_me. The title's 'Plan or record' is somewhat broader, but the description still gives a clear, non-tautological purpose.

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

Usage Guidelines3/5

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

The description implies this is for retrying an operation after a change and warns against unchanged or exhausted retry loops, so there is some embedded when-not guidance. However, it never explicitly states the triggering conditions for using this tool over a sibling, nor does it name alternatives. The usage context remains mostly inferred rather than directly stated.

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

reuptakeRecover relevant session contextB
Read-onlyIdempotent

Retrieve a compact, relevant summary of failures, attempts, facts, successes, and unresolved issues from this session.

NameRequiredDescriptionDefault
limitNoMaximum recent entries per context category.
sessionIdNoA stable identifier for this agent recovery session.default

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is clear. The description adds useful output composition details (failures, attempts, facts, successes, unresolved issues) but does not disclose additional behavioral traits such as staleness, scoping caveats, or return formatting.

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?

One front-loaded sentence states the action, the resource, and the scope with no wasted words. It is appropriately sized for the tool's simplicity.

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 read-only, side-effect-free retrieval tool with fully documented parameters, the description gives an agent enough to call it and understand the returned content. It could briefly mention when to use it relative to siblings, but the essential invocation context is present.

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?

The input schema fully documents limit and sessionId with defaults, bounds, and descriptions, so schema coverage is 100%. The description adds no parameter-specific meaning or usage examples, keeping this at the baseline.

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

Purpose4/5

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

The description uses a specific verb ('Retrieve') and clearly identifies the resource: a compact session summary containing failures, attempts, facts, successes, and unresolved issues. It is unambiguous about what the tool does, though it does not explicitly contrast with sibling tools like diagnose or focus.

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

Usage Guidelines2/5

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

There is no guidance on when to use reuptake versus its siblings such as diagnose, focus, or fix_me. The intended use case is only implied by the title and description, not explicitly stated as a condition or recommendation.

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

stimulateNudge a stuck agentA

Return a concise, structured recovery nudge that emphasizes reassessment, minimal checks, and changed approaches.

NameRequiredDescriptionDefault
taskYesThe task on which the agent is stuck.
contextNoThe most relevant constraint, failed assumption, or observation.
sessionIdNoA stable identifier for this agent recovery session.default

TDQS

A3.7/5.0
Behavior4/5

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

The description is transparent about the primary behavior: it returns a nudge rather than performing the task, and it specifies the nudge's 'concise, structured' form and themes. With no output schema and annotations that provide no positive safety signal, this is meaningful disclosure, though side effects and session-state behavior are not addressed.

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?

A single sentence that front-loads the action ('Return'), the deliverable ('recovery nudge'), and the key content directives. Every phrase earns its place, with no filler or duplicated schema information.

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

Completeness3/5

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

The definition is adequate for a simple text-generation tool with fully documented parameters and a clear title. However, it lacks explicit sibling differentiation, usage timing, and an output-format preview, so an agent choosing among the six siblings gets only partial context.

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 clear descriptions for task, context, and sessionId, so the baseline of 3 applies. The description's mention of reassessment and changed approaches hints at how context might be used but adds no concrete parameter-level meaning beyond the schema.

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

Purpose4/5

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

The description names a specific deliverable—a 'concise, structured recovery nudge'—and defines its content emphasis (reassessment, minimal checks, changed approaches), so an agent knows what the tool produces. It does not explicitly distinguish this from sibling tools like diagnose or retry, so it falls short of a 5.

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

Usage Guidelines3/5

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

Usage context is implied rather than stated: the title and the task parameter describe an agent that is stuck, and context mentions failed assumptions. However, the description never says when to prefer stimulate over diagnose, reuptake, focus, retry, or fix_me, nor does it offer exclusion conditions.

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.

  1. 6 tool updatesv0.1.0
    • First observeddiagnose
    • First observedfix_me
    • First observedfocus
    • First observedretry
    • First observedreuptake
    • First observedstimulate

TDQS

A3.6/5.0

Scored across 6 tools

Disambiguation2/5

Several tools have unclear boundaries: diagnose, focus, and fix_me all produce recommended next actions or plans, while stimulate and focus both generate recovery-oriented output. Only reuptake and retry are clearly distinct, making tool selection genuinely ambiguous.

Naming Consistency4/5

The tools mostly follow a consistent lowercase imperative-verb style: diagnose, stimulate, focus, retry. The main deviation is fix_me, which introduces an underscore and an object pronoun, but the overall naming pattern is still recognizable.

Tool Count4/5

Six tools is a reasonable size for a session-recovery-focused server. However, fix_me is an aggregate of other tools and adds some redundancy, so the set is slightly less lean than it could be.

Completeness4/5

The tool surface covers the core recovery loop well: diagnose failures, focus on next actions, retry with bounded state, and retrieve session context. Minor gaps exist around explicit session reset or state-clearing operations, but agents can generally work around them.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables LLM-driven agents to autonomously detect, diagnose, repair, verify, and prevent software and hardware failures on local and remote systems. Includes built-in safety checks and automatic rollbacks.
    15
    -
  • A
    license
    B
    quality
    C
    maintenance
    Enables programming agents to capture errors and conversation signals, reflect on root causes, consolidate reusable skills, and retrieve relevant context for future tasks, providing a self-learning memory loop.
    15
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to automatically capture durable knowledge and retrieve only relevant, token-bounded context from a secure local-first long-term memory, with support for progressive disclosure, snapshots, health diagnostics, and background tasks.
    Apache 2.0