Skip to main content
Glama

L-Dopa

AIエージェントが立ち直り、集中力を取り戻し、仕事をやり遂げるためのMCPサーバー。

L-Dopaは私を直してくれたんだ、間違いない??

L-Dopaは、アプローチが失敗しつつあるとき、コンテキストが散乱しているとき、またはリトライがループになりつつあるときに、エージェントの回復を支援する、小規模で実運用を意識したModel Context Protocol (MCP)サーバーです。コマンドの実行、外部システムの変更、エージェントの判断の置き換えは行いません。 提供された証拠を分析し、範囲を限定した回復状態を保持し、より安全な次の一手を提案します。

名前は冗談です。回復ループは冗談ではありません。

できること

L-Dopa v0.1は、エージェントが障害を診断し、範囲を縮小し、関連するコンテキストを復元し、リトライを意図的に管理できるようにする6つのMCPツールを提供します。

ツール

使用場面

戻り値

diagnose

操作が失敗し、エージェントがエラーまたはログの抜粋を持っている場合。

推定原因、調整された信頼度、秘匿化された証拠、次のアクション、リトライの指針。

stimulate

エージェントが有用な観察をせずに堂々巡りしている場合。

仮定と最小限の安全なチェックに焦点を当てた簡潔なリセット。

focus

タスクが広すぎる、または絡み合っている場合。

1〜5件の具体的な次のアクションの優先順位付きリスト。デフォルトは3件。

reuptake

エージェントがL-Dopaセッションから関連する回復コンテキストを必要としている場合。

最近の失敗、試行、成功、事実、未解決の問題の簡潔な要約。

retry

エージェントがリトライを検討している、または報告している場合。

記録された範囲限定のリトライ、または代替戦略の推奨を伴うブロック。

fix_me

エージェントが行き詰まり、1つの簡潔な回復手順を必要としている場合。

診断、焦点を絞ったアクション、回復の後押し、リトライの指針。

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

diagnose → focus → stimulate → retry guidanceの短縮版にはfix_meを使用します。指定された失敗があればそれを記録してから計画を返します。実行はしません。

{
  "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