Skip to main content
Glama

@sharedlore/mcp

A thin MCP server over the lore-api GraphQL endpoint. It gives an AI agent team-shared "lore": area context docs, append-only session captures, and structured docs (ADRs, logs, TODOs, plans).

The server is stateless - every tool call hits the lore-api GraphQL endpoint over HTTPS.

Tools

Tool

What it does

lore_projects

List the projects in the token's org (the token fixes the org). Returns the org name + each project's slug/name. Powers /lore:init.

lore_create_project

Create a project in the token's org (name, optional slug - derived from the name if omitted). Returns the created slug/name.

lore_start

Team /start: loads the project briefing (area context docs + recent captures). Optional directive.

lore_capture

Append a session capture to a node (by path or id). Append-only; triggers server-side context synthesis.

lore_adr

Create/update an ADR node by path (kind adr).

lore_log

Create/update a log node by path (kind log).

lore_todo

Create/update a TODO node by path (kind todo).

lore_plan

Create/update a plan node by path (kind plan).

lore_tree

List the folder/doc tree (optionally scoped by parentId or kind).

lore_context

Fetch the derived area context document at a path.

lore_search

Search nodes by path substring (optional kind).

Every write/read tool accepts an optional project slug. Resolution precedence when a tool omits project: the .lorerc file at the repo root (a { "project": "<slug>" } JSON file, found by walking up parent directories from the server's cwd, like git finds .git) → the LORE_PROJECT env var. Run lore link <slug> (from @sharedlore/cli) to write .lorerc.

Related MCP server: Graph

Configuration (env)

Var

Default

Purpose

LORE_API_URL

http://localhost:3030/graphql

GraphQL endpoint.

LORE_API_TOKEN

-

The lore_sk_... API token. Sent as Authorization: Bearer <token>. The token scopes the org server-side, so no org header is needed.

LORE_PROJECT

-

Fallback project slug used when a tool omits project and no .lorerc is found. Prefer .lorerc (per-repo) over this.

Getting a token

In the SharedLore dashboard, go to API tokens and create a new token. Copy the lore_sk_... value (shown once) into LORE_API_TOKEN. A token's role (admin / member / viewer) determines what it can do - a viewer token cannot capture or upsert and tools will return a clear "not authorized" message.

Connect (.mcp.json)

Install straight from the public GitHub repo - npx clones and builds it on first run (a prepare script runs tsc), so nothing needs to be published:

{
  "mcpServers": {
    "sharedlore": {
      "command": "npx",
      "args": ["-y", "github:sharedlore-ai/lore-mcp"],
      "env": {
        "LORE_API_URL": "https://lore.example.com/graphql",
        "LORE_API_TOKEN": "lore_sk_xxx"
      }
    }
  }
}

Variants (same env in all cases):

  • npm (once published): "args": ["-y", "@sharedlore/mcp"].

  • Local checkout (no npx): "command": "node", "args": ["/abs/path/lore-mcp/dist/index.js"] - run npm run build first.

  • Local lore-api: set LORE_API_URL to http://localhost:3030/graphql.

Develop

npm install
npm run build   # tsc -> dist/
npm run dev     # tsc --watch

Requires Node 20+ (uses the global fetch).

Available Tools

14 tools
lore_adrB

Create or update a Architecture Decision Record node by path (kind: adr).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body of the document.
pathYesNode path, e.g. bot/adr/something.
titleYesHuman-readable title.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional parent node id.

TDQS

B3.4/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 the full burden. It does not disclose behavioral traits such as whether updates are merged or replaced, idempotency, required permissions, or side effects. The agent has incomplete understanding of what happens when invoking this tool.

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 sentence that is front-loaded with the key action and resource. Every word earns its place. No redundancy or fluff.

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

Completeness2/5

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

The description lacks information about return value or behavior on success/error, especially important since there is no output schema. Given the tool is a create/update operation with 5 parameters and 3 required, the description is too minimal to fully guide an agent.

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 description's value is limited. It adds context about the tool's purpose (ADR by path) but does not elaborate on parameter values beyond what the schema already provides. Baseline 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 the verb (create or update), resource (Architecture Decision Record node), and method (by path). It distinguishes from siblings like lore_capture or lore_context by specifying 'kind: adr'.

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 usage for ADR creation/update but gives no explicit guidance on when to use this versus alternatives (e.g., when to update vs create, or contrast with lore_capture). No exclusions or prerequisites noted.

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

lore_captureA

Append an append-only session - project- and user-scoped. A session is one unit of work you did (a ticket / bug / feature); you can have several per day across projects. By default it is a project-level session (no node) - omit node. Optionally pass node to also attach it to an area. The backend only stores it; nothing is synthesized.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesThe full session body - what was done, decisions, findings.
nodeNoOptional area path or node id to attach the session to. Omit for a plain project-level session. Created as a folder if it doesn't exist.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
summaryNoOptional one-line summary (e.g. the ticket / feature).
capturedAtNoOptional ISO8601 timestamp. Use when importing past sessions to preserve their original date; defaults to now.

TDQS

A4.7/5.0
Behavior5/5

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

No annotations provided, but the description fully discloses behavior: append-only, nothing synthesized, backend only stores it. It also clarifies default project resolution and optional node creation.

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 clear and front-loaded, but somewhat verbose. Every sentence adds value, but could be slightly more concise without losing information.

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

Completeness5/5

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

For a simple append tool with no output schema, the description covers all aspects: purpose, behavior, parameter details, and use cases. Complete and self-contained.

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

Parameters5/5

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

Adds significant meaning beyond the 100% schema coverage: explains that node creates a folder if missing, project defaults from .lorerc/env var, capturedAt for importing past sessions, and body is the full session body.

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 ('append') and resource ('append-only session') and specifies scope ('project- and user-scoped'). It distinguishes from sibling tools by focusing on sessions as units of work.

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?

Describes when to use (for a unit of work like ticket/bug/feature) and provides context on default behavior (project-level) and optional node attachment. However, it does not explicitly list alternatives or when not to use.

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

lore_contextA

Read or write an area's context document (a context-kind node). Omit body to FETCH the context at a path. Pass body to WRITE it directly as authored content - this is an authored doc, it does NOT run synthesis. Use this for importing/editing hand-written context.md files; the capture flow is what derives context from sessions.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoWhen provided, writes this Markdown as the context node body (authored, no synthesis). When omitted, the tool reads instead.
pathYesNode path, e.g. mcp/context (area context) or context (project overview).
titleNoTitle when writing. Defaults to the area name derived from the path.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).

TDQS

A4.6/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 discloses that writing bypasses synthesis and is directly authored. However, it does not specify whether writes are overwriting or appending, nor does it describe any side effects or permissions. Still, key behavioral traits are covered.

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 two sentences, very concise. Every sentence adds value: the first explains the dual function, the second gives usage context and alternatives. No filler or 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?

Given no output schema, the description should hint at return values. It implies reading returns the body, but doesn't explain what write returns. Also, while parameter semantics are good, the overall completeness is slightly hampered by missing return value description. Moderate complexity.

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

Parameters5/5

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

Schema description coverage is 100%, but the description adds valuable context: explaining that body presence determines read/write mode, that title defaults to area name, project defaults from .lorerc, and providing path examples. This significantly enhances understanding beyond the schema.

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 tool reads or writes an area's context document, distinguishing between fetching (omit body) and writing (pass body). It specifies the resource type (context-kind node) and differentiates from synthesis and capture flow, making the purpose very specific and unambiguous.

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

Usage Guidelines5/5

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

The description explicitly advises using this tool for importing/editing hand-written context.md files and directs the capture flow for deriving context from sessions. This provides both when-to-use and when-not-to-use guidance, clearly distinguishing it from sibling tool lore_capture.

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

lore_create_projectA

Create a new project in one of your organizations. Pass the organization slug (from lore_projects) and a name; the slug is derived from the name (lowercase, dashes) unless you pass an explicit slug. Used by /lore:init when the user chooses to create a new project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable project name, e.g. "Trading Bot".
slugNoOptional explicit slug. Defaults to a slug derived from the name.
organizationYesSlug of the organization to create the project in (from lore_projects).

TDQS

A4.5/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses that the slug is derived from the name (lowercase, dashes) unless an explicit slug is passed, which is a key behavioral detail. It does not mention permissions, error states, or idempotency, but the core behavior is well covered.

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 two sentences long, front-loaded with the purpose, and provides essential details without any filler. Every sentence adds value, making it highly concise.

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 has 3 parameters and no output schema, the description covers usage and slug behavior well. However, it lacks information about the return value or possible errors, which could be helpful for an agent to interpret results. Still, it is mostly complete.

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

Parameters5/5

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

Schema coverage is 100%, so baseline is 3. The description adds significant value by explaining the slug derivation rule ('derived from the name (lowercase, dashes) unless you pass an explicit slug') and linking the organization parameter to 'from lore_projects,' which provides context beyond the schema's 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 clearly states the tool's purpose: 'Create a new project in one of your organizations.' It specifies the verb (create), resource (project), and context (organization), which distinguishes it from sibling tools like lore_projects (listing) or lore_delete.

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 mentions it is 'used by /lore:init when the user chooses to create a new project,' providing a specific use case. However, it does not explicitly state when not to use it or mention alternatives, but the context is clear enough.

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

lore_deleteA

Delete a node (and its children) by path or id. Irreversible - use to clean up mistaken or stale nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesNode path (e.g. bot/exits) or id to delete.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).

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 irreversibility and recursive deletion of children, which are critical behavioral traits. Lacks details on error handling but covers key aspects.

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, then behavioral note. No wasted words, 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?

Covers essential info: action, recursive delete, irreversibility, use case. Missing details on error scenarios (e.g., node not found) but adequate for a simple delete tool with no output schema.

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 both parameters described. Description adds 'by path or id' clarifying node parameter, but does not significantly enhance beyond schema. Baseline 3 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 verb 'delete' and resource 'node', with specificity about children. Sibling tools cover different actions (adr, capture, etc.), so no confusion.

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 'use to clean up mistaken or stale nodes', providing a clear use case. Does not explicitly mention when not to use or list alternatives, but the context is sufficient.

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

lore_logC

Create or update a log entry node by path (kind: log).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body of the document.
pathYesNode path, e.g. bot/log/something.
titleYesHuman-readable title.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional parent node id.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description alone must disclose behavioral traits. It only mentions 'create or update' but does not clarify idempotency, destructive potential (e.g., overwriting existing content), or required permissions (e.g., project access). The lack of detail on side effects or error conditions is a significant gap.

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, highly concise and front-loaded with the core action. However, it is so brief that it omits necessary usage context, slightly reducing effectiveness.

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

Completeness2/5

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

Given the complexity (5 parameters, 3 required) and absence of output schema or annotations, the description is insufficient. It does not explain what a 'log entry' represents, how the tool integrates with other lore tools, or what the return value (e.g., the created/updated node) contains.

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 schema already documents all five parameters. The description adds no additional semantic value beyond what is in the schema, remaining at the baseline score.

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 clearly states the action ('Create or update') and the resource ('log entry node by path (kind: log)'), making it distinguishable from siblings that target different node kinds. However, it does not explicitly differentiate between log entries and other entry types (e.g., ADR, capture), which are separate tools.

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?

No guidance is provided on when to use this tool versus alternatives (e.g., lore_capture, lore_adr). The description simply states what it does without context for appropriate usage or prerequisites.

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

lore_memoryC

Create or update a memory (durable fact/learning) node by path (kind: memory).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body of the document.
pathYesNode path, e.g. bot/memory/something.
titleYesHuman-readable title.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional parent node id.

TDQS

C2.9/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 behavioral burden. It discloses that the tool creates or updates (mutation), but lacks details on side effects, idempotency, required authorization, or what happens on update (e.g., overwrite vs. merge). Minimal transparency beyond basic action.

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, concise and to the point. However, it could be slightly more direct (e.g., 'Create or update a memory node.') and still be clear. Front-loading is decent.

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

Completeness2/5

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

Given 5 parameters, 3 required, no output schema, and a set of sibling tools, the description is insufficient. It does not explain what a 'memory' is, how it relates to other lore nodes, or behavioral details like idempotency or error conditions. The agent lacks context to use the tool 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 description coverage is 100%, so the schema already documents all 5 parameters. The description does not add any additional meaning beyond the schema; it only mentions 'path' explicitly. Baseline 3 is appropriate since the description adds no extra value.

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 clearly states the verb (create/update) and resource (memory node), and specifies the method (by path) and kind (memory). However, it does not explicitly distinguish from sibling tools like lore_capture, which might also create durable facts, so purpose is clear but not fully differentiated.

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?

The description provides no guidance on when to use this tool vs. alternatives like lore_capture, lore_log, or lore_todo. It does not mention prerequisites, context, or exclusions. The agent is left without direction on selecting this tool over siblings.

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

lore_moveA

Move or rename a node to a new path (and optionally a new parent), by path or id. Cascades child paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesCurrent node path or id.
pathYesNew full path for the node (e.g. bot/exits/v2).
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional new parent node id.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations exist, so the description carries the burden. It discloses that moving a node cascades child paths, which is a key behavioral trait. However, it omits other important details like idempotency, permission requirements, or error behavior (e.g., if the node does not exist).

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 extremely concise, with only two sentences. The first sentence captures the main action, and the second adds a critical behavioral note. No unnecessary words.

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?

Given 4 parameters and no output schema, the description adequately explains the operation's core behavior and a key side effect. However, it lacks information about return values, error cases, or prerequisites, leaving some gaps for a complete understanding.

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 baseline is 3. The description adds minimal value beyond the schema: it reiterates that 'node' accepts path or id, but the schema already states that. No additional semantic enrichment is provided.

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 (move or rename), the resource (a node), and the ability to operate by path or id, with the key feature of cascading child paths. It effectively distinguishes from sibling tools like lore_delete or lore_tree that handle different operations.

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 this tool versus alternatives, such as when to move/rename versus using lore_delete or lore_tree. The description lacks when-not-to-use or prerequisite context.

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

lore_planB

Create or update a plan node by path (kind: plan).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body of the document.
pathYesNode path, e.g. bot/plan/something.
titleYesHuman-readable title.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional parent node id.

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'create or update,' implying upsert behavior, but does not describe what happens if the path exists (overwrite? merge?), required permissions, rate limits, or side effects. This is insufficient for a mutation tool.

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 zero wasted words. It efficiently conveys the core purpose and differentiation.

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

Completeness2/5

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

Given 5 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, error cases, or behavior for existing nodes. An agent would need more context to use this tool 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 description coverage is 100%, so baseline is 3. The description adds no parameter-specific detail beyond what the schema already provides (e.g., body, path, title, project, parentId are all described in schema).

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 states 'Create or update a plan node by path (kind: plan).' The verb 'create or update' combined with the resource 'plan node' and the qualifier 'kind: plan' clearly distinguishes this tool from siblings like lore_adr, lore_capture, etc., which use different kinds.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios, prerequisites, or exclusion criteria, leaving the agent to guess the appropriate context.

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

lore_projectsA

List every organization and project you can access (personal ones and orgs you've joined), grouped by organization. Your API token is personal - it spans all your orgs. Use this to pick or confirm which project a repo should be linked to (see /lore:init).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description fully discloses that the tool lists accessible organizations and projects, implying a read-only operation. It also transparently explains that the API token is personal and spans all orgs, which clarifies authorization behavior.

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 consists of three concise sentences with no waste. The first sentence states the core functionality, the second provides token context, and the third gives a usage reference, all front-loaded with key information.

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

Completeness5/5

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

Given the tool has no parameters and no output schema, the description is complete. It explains what is returned, how it is grouped, and how to use it (including a reference to /lore:init). No additional information is needed for an agent to use it correctly.

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

Parameters5/5

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

The input schema has zero parameters, so description coverage is 100% trivially. The description adds significant meaning by explaining the output structure (grouped by organization) and the practical use case, going beyond the empty schema.

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 explicitly states the tool lists organizations and projects, grouped by organization. It specifies the scope (personal and joined orgs) and distinguishes itself from sibling tools by referencing its use for linking repos to projects, as seen in the sibling names list (no other listing tool).

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

Usage Guidelines5/5

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

The description clearly states when to use the tool: 'Use this to pick or confirm which project a repo should be linked to (see /lore:init).' It also explains the token's scope, providing contextual guidance for usage.

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

lore_startB

Load the team briefing for a project: the area context docs plus recent session captures. The team /start.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
directiveNoOptional focus directive to frame what you are about to work on.

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description discloses that the tool loads area context docs and recent session captures, which is a behavioral composition. However, it does not mention side effects, error handling (e.g., missing project), or authorization requirements.

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

Conciseness3/5

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

The description is two sentences, but the second sentence 'The team /start' is a fragment that is confusing and does not earn its place. It could be removed or clarified for better conciseness.

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 tool has no output schema and the parameters are well-documented, but the description does not explain the return value or behavior in edge cases (e.g., no project found). It is minimally adequate for a simple tool.

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% for both parameters, and the description adds no additional meaning beyond what the schema already provides. Baseline 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 clearly states the tool loads a 'team briefing' composed of 'area context docs' and 'recent session captures', which distinguishes it from siblings like lore_context and lore_capture. However, the phrase 'The team /start' is ambiguous and slightly detracts from clarity.

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 starting work on a project, but it does not explicitly state when to use this versus sibling tools like lore_context or lore_capture individually. No when-not-to-use or alternative guidance is provided.

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

lore_todoC

Create or update a TODO node by path (kind: todo).

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMarkdown body of the document.
pathYesNode path, e.g. bot/todo/something.
titleYesHuman-readable title.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoOptional parent node id.

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It mentions 'create or update' but does not clarify if the operation is idempotent, what happens on path collision, or any side effects like overwriting existing content.

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

Conciseness3/5

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

Extremely concise single sentence, front-loads the action. However, it is so brief that it may omit necessary context, making it less helpful than a slightly longer explanation.

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

Completeness2/5

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

Given 5 parameters (3 required), no output schema, and no annotations, the description should provide more context on default behavior (e.g., project resolution), optional parentId usage, and return value. Currently incomplete.

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?

Input schema has 100% parameter descriptions, so the description adds no extra meaning beyond what the schema already provides. Baseline score 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?

Clearly states it creates or updates a TODO node by path, specifying the kind as 'todo'. Distinguishes itself from sibling tools like lore_capture or lore_log, though the exact meaning of 'TODO node' could be clearer.

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?

No guidance on when to use this tool versus alternatives such as lore_capture or lore_log. Lacks any 'when to use' or 'when not to use' context.

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

lore_treeB

List the folder/doc tree for a project. Optionally scope by parent node or kind.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoFilter by node kind.
projectNoProject slug (defaults to .lorerc in cwd, then LORE_PROJECT).
parentIdNoList only children of this node id.

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It states 'list' (implying a read operation) but omits details like whether it returns the full tree or immediate children, ordering, or error handling (e.g., if the project does not exist). For a simple tool, this is insufficient.

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 sentence of 12 words, front-loaded with the main action. Every word is necessary and there is no redundancy or filler.

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

Completeness2/5

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

Despite low complexity (3 optional params, no output schema), the description lacks key information: default behavior (lists root tree?), return format, error conditions, and relationship to sibling tools. It is too minimal to fully inform an agent's decision.

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?

All three parameters are documented in the input schema (100% coverage). The description adds 'Optionally scope by parent node or kind', which parallels the schema descriptions but does not provide additional semantic value beyond what the schema already offers.

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 tool lists a folder/doc tree for a project, using a specific verb ('list') and resource ('tree'). It distinguishes from sibling tools like lore_search or lore_projects by focusing on the hierarchical structure.

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 mentions optional scoping by parent node or kind, giving basic usage context. However, it provides no guidance on when not to use this tool or alternatives (e.g., lore_search for text search) and lacks examples or prerequisites.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct node kind or action (create/update for specific types, delete, move, search, list). Even lore_context combines read and write but is clearly described based on body presence. No two tools serve the same purpose.

Naming Consistency4/5

All tools share the 'lore_' prefix. Most use a single noun or verb (adr, capture, context, delete, log, memory, move, plan, search, start, todo, tree) but some are two-word verbs (create_project) and a few are nouns used as verbs (adr, context, log, memory, plan, todo, tree). The pattern is consistent across the set but not perfectly verb_noun.

Tool Count5/5

With 14 tools covering node lifecycle (create/update for 6 types, delete, move, search, list, projects, startup briefing), the count is well-scoped for a knowledge management server. Each tool serves a clear purpose without being excessive.

Completeness4/5

Core CRUD is covered for all node types via create/update, delete, and move. Search and tree listing provide access. Minor gaps include no dedicated 'get single node by path' tool for all types, but search and context fetch cover retrieval. Overall surface is sufficient for the domain.

Maintenance

ActivityStale
ResponsivenessSyncing

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
    A
    quality
    A
    maintenance
    Local-first MCP server that gives any AI coding agent per-project memory, workflow intelligence, and always-on, lossless token & context optimization.
    37
    18
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Self-hosted MCP server for storing and serving structured team knowledge, enabling AI sessions to load relevant team context without re-prompting.
    Apache 2.0

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/sharedlore-ai/lore-mcp'

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