Skip to main content
Glama
pierreb4
by pierreb4

seven-dpt-mcp

A tiny, local MCP server that gives Claude (in any project) a persistent set of long-running problems and a loop for cracking them — Feynman's twelve favorite problems method, driven by the tripartite model of inspiration.

  • Feynman's method (via Gian-Carlo Rota): keep ~a dozen problems dormant in mind; every time you meet a new trick, test it against all of them.

  • Inspiration = evocation + transcendence + approach motivation (Thrash & Elliot): a stimulus evokes a possibility, you transcend the problem's current framing, then you're motivated to act on it.

The server holds state and scaffolding; the connected model does the thinking — no LLM runs inside the server, no API key.

Tools

Tool

Purpose

add_problem

Add a long-running problem to your set (refused past the ~12 cap until you retire/merge something — or pass overCap)

update_problem

Edit, retire, solve, or reopen a problem. Closing takes a resolution — why, plus the re-open trigger; a merge is a retirement whose resolution names the absorber

list_problems

See your open problems

get_problem

One problem + every spark (idea, next step, outcome) — the memory

evoke

The loop. Feed it a trick; returns your problems + a scaffold walking evocation → transcendence → approach

capture_spark

Persist a candidate idea + concrete next step against a problem (+ optional costToOpen — the forward effort estimate — prior — your stated p(works), immutable, for later calibration — and the claim-typing trio: claimType universal/existential-bounded, forbids — one observation the spark rules out — and exhaustion — when to abandon rather than re-park. All write-once)

update_spark

Record a spark's outcome — status (tried/worked/failed), cost (actual effort spent), value (graded payoff, 0 for a miss). Log failures too; the zero-value outcomes are the signal a background-effort policy is learned from. Can backfill claimType/forbids/exhaustion while unset (write-once: never revises)

wake_status

Evaluate every parked problem/spark's wakeCondition right now — ripeness, progress, per-atom current/target echoes

Storage: ~/.local/share/seven-dpt/store.json (override with SEVEN_DPT_DB). One store, shared by every project = one brain.

Related MCP server: mcp-ai-agent-guidelines

Wake conditions (0.1.4)

Retiring a problem parks it with a re-open trigger — but a trigger written in prose is a wait owned by "someone will remember." A wakeCondition makes it computable: a small predicate (all/any over atoms like sparkCount, a date gate, fileMatches / fileLines / fileCount on a path, or an explicit manual note) attached when you retire/solve a problem (update_problem), park a spark (update_spark), or capture one born gated (capture_spark). The ambient digest evaluates every condition at session start and surfaces what's ripe (with an act/re-park pointer), what's ripening (with current/target progress), and — loudly — any condition whose source became unreadable: a wake source that vanished must scream, not sit at 0% forever. Everything echoes its aim (prior-ledger.jsonl 12/20), so a wrong path or unit is visible when you arm it, not months later. No auto-reopen: ripeness is surfaced, you decide. --wake prints the full ledger from the CLI.

Claim typing (0.1.5)

A parked spark with a wake condition can revive — but nothing says when it may die, so an unfalsifiable hope can ride the digest forever. 0.1.5 gives every spark an optional claim-typing trio, all write-once on the same anti-hindsight model as prior:

  • claimTypeuniversal ("this always holds") vs existential-bounded ("this holds somewhere, within a stated frame"). A frame-bounded null is not a claim-failure; typing the claim keeps a frame-kill from being read as a lever-kill.

  • forbids — one concrete observation the spark rules out. If nothing is forbidden, nothing can refute it, and the spark is a mood, not a claim.

  • exhaustion — the retirement predicate, the dual of wakeCondition: the condition under which the spark is abandoned rather than re-parked.

Set them at capture, or backfill later while unset (update_spark); revision after the fact is refused with a visible notice — rewriting what a claim forbids after seeing results is the conventionalist stratagem the fields exist to block. ledger_invariants.py flags ORPHANED-EXISTENTIAL sparks (parked with a wake, no exhaustion — can revive but never die), and calibration.py stamps the claimType mix of every scored cohort.

How it bootstraps

On first run (no store file yet), the store seeds itself with seven-dpt's own five open product problems — auto-detection of recurring issues, the background-spend policy, proactive surfacing, keeping the set near twelve, and storage scaling. Design decision, made deliberately: the seeds are tool-generic (identical for every install, about the tool rather than about you), so the server dogfoods its own method from minute one and the ambient digest has something to show before you add your own problems. They are ordinary rows in your store — edit, replace, or clear them freely; an existing store is never touched. So the moment it runs it is already "taking care of its own problems": while you work on anything else, those sit in context and can be sparked by unrelated discoveries. The policy for how/when/how-much to chase background problems is deliberately not coded — it's meant to be learned later from the accumulated spark → outcome history, which is why update_spark exists.

That history is the reward channel: each spark carries a prior (your stated probability-it-works at capture — immutable afterwards, so stated credences can be calibrated against realized outcomes once enough sparks resolve), a costToOpen (the forward effort estimate, set at capture and preserved), a cost (the actual effort, once chased to a verdict), and a value (graded payoff, 0 for a miss). analysis/reservation_value.py turns it into a Pandora's-Box / Gittins reservation-value ranking — but it gates on data sufficiency and refuses to emit numbers until enough resolved sparks (with cost + value, including failures) accrue, so the policy is never fit on false precision. A companion, analysis/reservation_value_bayes.py, adds a posterior-predictive prior (so it can rank under sparse data) and models the one-time costToOpen against a compounding-but-saturating benefit stream — ranking by profitability index, which is invariant to the value↔cost exchange rate. analysis/calibration.py closes the loop on the prior field: it audits stated priors against realized outcomes (reliability table, Brier/skill, drift check) from any two-line JSONL ledger of pre-registered priors + resolutions, and --json persists a de-bias map that reservation_value_bayes.py picks up — so the index runs on calibrated stated credences instead of a deemed hit-rate; --split YYYY-MM-DD partitions the curve at a changepoint (a model upgrade re-prices estimates — don't pool across one untested), and a scope stamp reports the claimType mix of scored pairs, since a frame-bounded null scored as a claim-failure is the one bias the audit can't see from numbers alone. analysis/ledger_invariants.py audits the program the same ledger records, not any single probe: deterministic invariants for the failure class where every result is locally sound and the project is still wrong — a park-streak check (K straddles-zero verdicts in a row on the primary metric means the instrument, not the ideas, is the suspect), power-at-preregistration (a gate below the banked MDE is unresolvable before it runs), channel-liveness stamps, and ORPHANED-EXISTENTIAL (a parked spark with a wake but no exhaustion can revive but never die — unfalsifiable-in-practice spend). It reports its own note-classification coverage, exits 1 on alerts, supports --asof retrodiction, and --json emits ALERT markers a hook or wakeCondition (fileMatches on the output) can gate on.

Install (turn on for all projects)

Published on npm — no build step. Register it for every project (user scope):

claude mcp add --scope user seven-dpt -- npx -y seven-dpt-mcp

From source (alternative)

npm install && npm run build
# Register for every project (user scope). Use an ABSOLUTE node path — hooks and MCP
# servers don't source your shell profile, so nvm-style setups need one:
claude mcp add --scope user seven-dpt -- "$(command -v node)" "$(pwd)/dist/index.js"

Then make the problems ambient — merge into ~/.claude/settings.json so every session opens with your dormant problems in context:

{
  "hooks": {
    "SessionStart": [
      { "matcher": "startup", "hooks": [{ "type": "command", "command": "npx -y seven-dpt-mcp --digest", "timeout": 10 }] },
      { "matcher": "resume",  "hooks": [{ "type": "command", "command": "npx -y seven-dpt-mcp --digest", "timeout": 10 }] },
      { "matcher": "clear",   "hooks": [{ "type": "command", "command": "npx -y seven-dpt-mcp --digest", "timeout": 10 }] }
    ]
  }
}

(Installed from source instead? Replace each command with an absolute node path + /absolute/path/to/seven-dpt-mcp/dist/index.js --digest — hooks don't source your shell profile, so nvm-style setups need the absolute path.)

(--digest prints nothing when no problems are open; a fresh install prints the five seeded ones — that's the bootstrap working, not noise.)

Validate the idea

  1. Add a few of your own long-running problems — add_problem.

  2. When you hit an interesting technique in any repo, evoke it; watch Claude test it against every problem and reframe the ones that light up.

  3. Let it capture_spark the hits, then update_spark once you've tried them.

  4. Days later, get_problem — if that accumulated trail feels useful, the idea's proven.

Known MVP limits (intentional)

  • JSON file, last-write-wins (fine for one user).

  • evoke matching is done by the connected model, not pre-ranked by embeddings.

License

Apache-2.0 — see LICENSE.

Available Tools

6 tools
add_problemAdd a favorite problemA

Add a long-running problem to your global Feynman set — the ~dozen you keep dormant in mind across every project. Keep the active set small; that constraint is the method.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFreeform tags, e.g. domains or project names
titleYesShort name for the problem
originNoWhere it came from (project, context)
statementNoFuller description / what 'solved' would look like

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. Discloses that the problem becomes part of a global set and that the set should be kept small. Does not cover idempotency or error handling, but is adequate for a simple additive operation.

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, front-loaded with purpose and usage constraint. Every sentence adds value; no waste.

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?

Adequate for a creation tool with well-described schema. Covers purpose and usage constraint. No output schema, but return value not critical. Missing details like duplicate handling or error conditions.

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 describes all 4 parameters with full coverage (100%). Description adds no additional semantic meaning to individual parameters beyond the schema descriptions.

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?

Clear verb 'add' and resource 'problem to your global Feynman set'. Distinct from siblings like capture_spark (capture spark) and list_problems (list).

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?

States when to use: for long-running problems to keep in mind. Implies not for transient ideas. No explicit exclusions or alternatives named, but the constraint 'keep the active set small' provides guidance.

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

capture_sparkCapture a spark (approach motivation)A

Persist a candidate solution plus a concrete next step against a problem — the output of a successful evocation. This is the memory that lets long-running issues progress across sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoRough EXPECTED effort to chase this spark to a verdict, on a consistent scale (e.g. minutes, or a 1-5 effort score). The budget model's cost term — an estimate is fine; refine it on update_spark once you know the actual.
ideaYesThe candidate solution or insight
trickYesThe trick / stimulus that evoked it
nextStepYesONE concrete next experiment or action
problemIdYesWhich problem this advances

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided; description states it persists data but omits behavioral details like idempotency, side effects, or any destructive actions. With no annotations, the description should disclose more about the operation's nature.

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, no wasted words, front-loaded with the core action and context. Efficient and clear.

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?

Effectively explains the tool's role in the workflow (evocation output, session memory) but does not describe return values or error behavior. Adequate given no output schema but could include completion signals.

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%, providing detailed explanations for each parameter. The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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?

Description clearly states the verb 'persist' and the resource 'candidate solution plus a concrete next step', and distinguishes from siblings like 'evoke' by positioning it as the output of a successful evocation.

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?

Provides context on when to use (after successful evocation) and the long-running issue progression use case, but does not explicitly exclude scenarios or compare with sibling 'update_spark'.

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

evokeEvoke — test a new trick against all your problemsA

The core loop. Give it a trick, result, idea, or observation you just encountered. Returns your open problems plus a scaffold that walks you through evocation -> transcendence -> approach. Call this whenever you learn something that might generalize.

ParametersJSON Schema
NameRequiredDescriptionDefault
trickYesThe new trick / result / insight / observation to test against your problems
projectNoOptional: which project you're in right now

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions returning output but does not disclose whether the tool has side effects, requires authentication, or has rate limits. It is moderately transparent but could be more explicit.

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: first defines action and output, second gives usage guidance. Every sentence is necessary and front-loaded. No redundancy or wasted words.

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 tool's simplicity (2 params, no output schema, no enums, no nesting), the description covers the core purpose, usage context, and return value. Lacks explicit mention of non-destructive behavior but is still complete enough for an agent to use correctly.

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 the baseline is 3. The description adds some context by framing the 'trick' parameter as a general insight, but does not go beyond what the schema already provides in terms of meaning.

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 clearly states the action ('Give it a trick...') and the return value ('open problems plus a scaffold'), and it differentiates from siblings like add_problem or list_problems by focusing on testing a generalization against problems.

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?

Explicitly says 'Call this whenever you learn something that might generalize,' providing clear when-to-use guidance. Does not explicitly state when not to use, but the context from sibling tools implies alternatives.

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

get_problemGet a problem and its historyA

Show one problem plus every spark (idea + next step + outcome) captured against it — the long-running memory that makes a stuck issue accumulate progress across sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProblem id

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool returns sparks with idea, next step, and outcome, but omits whether this is a read-only operation, any authentication needs, or side effects. The 'long-running memory' metaphor adds context but insufficient detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that effectively communicates the main action and value. It is front-loaded with 'Show one problem plus every spark', though the sentence is somewhat lengthy with parenthetical explanations.

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 simple schema (one integer parameter, no output schema) and the context of sibling tools, the description provides adequate information about the return value (problem + sparks). It is complete enough for an agent to understand what the tool does.

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% with one required parameter 'id' described as 'Problem id'. The description adds no extra meaning beyond the schema, so baseline of 3 is appropriate.

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 clearly states 'Show one problem plus every spark... captured against it', specifying the verb 'Show' and the resource 'problem' with its history. It distinguishes itself from sibling tools like list_problems (which likely lists without details) and capture_spark (which adds) by focusing on a single problem with full spark history.

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 tool is for viewing a problem's accumulated sparks across sessions, but does not explicitly state when to use it versus alternatives like list_problems or evoke. No guidance on exclusions or prerequisites.

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

list_problemsList your favorite problemsA

Show your global set of long-running problems. Defaults to open ones only.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeClosedNoAlso show solved/retired problems

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It explains the tool shows problems but does not explicitly state it is read-only or describe side effects. For a list tool, this is adequate but could be more 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?

Two sentences, no wasted words, purpose front-loaded. Every sentence adds value.

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 a single optional boolean parameter and no output schema, the description is reasonably complete. It could mention the return format but is sufficient for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one boolean parameter. Description adds value by clarifying the default behavior ('Defaults to open ones only') which is not explicitly stated in the schema description.

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 specific verb 'Show' and resource 'global set of long-running problems', clearly distinguishing it from sibling tools like add_problem, get_problem, and update_spark.

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?

Description states default behavior ('Defaults to open ones only') and implies when to use the optional parameter includeClosed. No explicit when-not or alternatives mentioned, but context is clear.

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

update_sparkRecord a spark's outcomeA

Record what happened when you acted on a spark — an outcome note, a new status (tried / worked / failed), and ideally the cost (effort spent) and value (graded payoff). LOG FAILURES TOO: 'most bets fail' is the premise of problem #2, so failed and zero-value outcomes are exactly the signal a spend-policy is learned from — recording only wins makes the history unusable. This outcome history is what lets the system learn when surfacing a dormant problem is worth the attention.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSpark id
costNoACTUAL effort spent chasing it to a verdict (same scale as capture's cost).
valueNoGraded payoff of the outcome: 0 if it failed or yielded nothing, higher for bigger wins (heavy-tailed). The reward signal the budget policy is fit on — log it for failures too.
statusNoNew status for the spark
outcomeNoWhat happened when you tried it

TDQS

A4.3/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It explains the meaning of cost, value, and status fields, and stresses that value should be 0 for failures. It does not mention side effects or auth needs, but the behavioral context is well-addressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a focused paragraph of about 4-5 sentences, front-loading the main purpose then emphasizing failure logging. Each sentence adds value; no wasted words.

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 5-parameter tool with no output schema, the description covers purpose, usage guidelines, and parameter semantics well. It lacks return value info but that is not critical here. Completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant meaning: clarifies cost as 'ACTUAL effort spent', value as 'graded payoff' (0 for failures), and explains the importance of recording failures. This goes beyond schema descriptions.

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 title 'Record a spark's outcome' and description clearly state the tool's purpose with specific verb and resource. It distinguishes from siblings like capture_spark (new spark capture) and evoke (retrieval) by focusing on outcome recording.

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 explicitly guides when to use the tool: after acting on a spark. It strongly emphasizes logging failures, providing rationale ('most bets fail'). No explicit alternatives, but context is clear.

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. Dates show when Glama detected each change.

  1. 6 tool updatesv0.1.0
    • First observedadd_problem
    • First observedcapture_spark
    • First observedevoke
    • First observedget_problem
    • First observedlist_problems
    • First observedupdate_spark

TDQS

A4/5.0
Disambiguation5/5

Each tool targets a distinct action: adding problems, capturing sparks, recalling problems with evocation, viewing one problem, listing all, and updating spark outcomes. No two tools serve overlapping purposes.

Naming Consistency4/5

Most tools follow snake_case verb_noun pattern (add_problem, capture_spark, get_problem, list_problems, update_spark), but 'evoke' is a single verb without a noun, breaking the pattern slightly.

Tool Count5/5

With 6 tools, the set is well-scoped for the problem management domain it serves. Each tool has a clear role without redundancy, and the count feels neither too sparse nor too heavy.

Completeness4/5

The tools cover core workflows: add problems, generate and update sparks, and list/retrieve. Missing are deletion capabilities and the ability to modify spark ideas directly, but these are minor gaps given the specific methodology.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A TypeScript ESM MCP server exposing 20 public instruction tools and 7 utility tools, backed by 102 internal skills across 18 domain families — from requirements discovery and code quality through governance, resilience, and physics-inspired analysis.
    196
    6
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server enabling AI agents to record, query, and share structured problem-solving experiences with human review and confidence decay.
    11
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    One MCP that turns Claude Code into your whole dev stack by swallowing other MCP servers, delegating to Codex & Gemini on your CLI subscriptions, remembering projects in a searchable knowledge graph, and carrying setup across sessions — secret-free by design.
    23
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pierreb4/seven-dpt-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server