Skip to main content
Glama
lpm-dev

@lpm-registry/mcp-server

Official
by lpm-dev

@lpm-registry/mcp-server

MCP (Model Context Protocol) server for the LPM package registry. Gives AI tools like Claude Code, Cursor, and other MCP-compatible agents access to search, browse source code, install packages, check quality, and more.

Quick Setup

If you have the LPM CLI installed, one command configures all your editors:

lpm mcp setup

This auto-detects Claude Code, Cursor, VS Code, Claude Desktop, and Windsurf, then writes the correct config to each. Authentication is handled via lpm login (stored in your OS keychain) — no tokens in config files.

The generated command is npx -y @lpm-registry/mcp-server@latest. The latest dist-tag is resolved when the editor starts, so editor restarts pick up the current published MCP server release.

For a custom registry, set LPM_REGISTRY_URL in the environment inherited by your editor or add it to the editor's MCP server environment configuration.

Related MCP server: MCPfinder

Manual Setup

If you prefer manual configuration, add to your editor's MCP config:

Claude Code

{
  "mcpServers": {
    "lpm-registry": {
      "command": "npx",
      "args": ["-y", "@lpm-registry/mcp-server@latest"]
    }
  }
}

Cursor (.cursor/mcp.json)

{
  "mcpServers": {
    "lpm-registry": {
      "command": "npx",
      "args": ["-y", "@lpm-registry/mcp-server@latest"]
    }
  }
}

VS Code (.vscode/mcp.json)

{
  "servers": {
    "lpm-registry": {
      "command": "npx",
      "args": ["-y", "@lpm-registry/mcp-server@latest"]
    }
  }
}

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "lpm-registry": {
      "command": "npx",
      "args": ["-y", "@lpm-registry/mcp-server@latest"]
    }
  }
}

Authentication

LPM_TOKEN has highest priority. When it is unset, the server reads the OS keychain entry created by lpm login for the effective registry URL. Credentials are registry-scoped, so hosted, local, and custom registries do not reuse one another's tokens.

Set LPM_TOKEN explicitly for environments without keychain access:

export LPM_TOKEN=lpm_your_token_here

Registry URL

Defaults to https://lpm.dev. Override with:

export LPM_REGISTRY_URL=https://your-registry.dev

For local development, copy .env.example to .env.local and set your local registry URL. These files are gitignored.

Available Tools

Tool

Description

Auth

Cache

lpm_search

Search packages with natural language or structured filters

Optional

5m

lpm_package_info

Get package metadata, install method, access model, and readme

Optional

5m

lpm_api_docs

Get structured API docs — functions, classes, types, signatures

Optional

5m

lpm_llm_context

Get LLM-optimized usage guide — quickStart, patterns, gotchas

Optional

5m

lpm_package_context

Get complete package context in one call (pre-install evaluation)

Optional

5m

lpm_package_skills

Get Agent Skills for building with an installed package

Optional

5m

lpm_docs

Search or read LPM documentation (setup, CLI, publishing, etc.)

No

30m

lpm_browse_source

Browse package source code remotely (last resort)

Yes

5m

lpm_add

Add a package by extracting source files into the project

Yes

lpm_install

Install a managed dependency (JS → node_modules, Swift → Package.swift)

Yes

lpm_audit

Security audit — behavioral tags, AI findings, quality scores

Yes

lpm_marketplace_info

Marketplace pricing, licensing, and seat management

Optional

5m

lpm_quality_report

Get quality score and 28-check breakdown

Optional

5m

lpm_search_owners

Search for users or organizations by name

No

5m

lpm_packages_by_owner

List packages published by a specific user or org

No

5m

lpm_pool_stats

Get your Pool revenue earnings for the current month

Yes

1h

lpm_user_info

Get authenticated user info, orgs, and usage

Yes

5m

Access Control

  • Pool packages require a Pool subscription ($12/mo). Without one, lpm_browse_source, lpm_add, and lpm_install return an error with subscription info.

  • Marketplace packages require a license purchase. Errors include a link to the package page.

  • Public metadata (lpm_package_info, lpm_search, lpm_quality_report) works without auth for public packages.

Troubleshooting

"No LPM token found" Set the LPM_TOKEN environment variable in your MCP client configuration, or run lpm login first.

"Authentication required" Some tools (lpm_browse_source, lpm_add, lpm_install) require authentication. Run lpm login or set LPM_TOKEN.

"Authentication failed" Your token may be expired or revoked. Generate a new token at https://lpm.dev/dashboard/tokens or run lpm login.

"Cannot reach lpm.dev" Check your internet connection. If you're behind a proxy, ensure it allows HTTPS connections to lpm.dev.

"Package not found" Verify the package name format: owner.package-name (e.g., alice.ui-kit).

"Rate limit exceeded" Source browsing is rate limited to 30 requests per minute. Wait and retry.

"Source browsing is currently disabled" The registry has temporarily disabled source browsing. Try again later.

"Response was truncated" Use the path parameter with lpm_browse_source to request specific files or directories instead of the entire package.

Available Tools

17 tools
lpm_addA

Add an LPM package to the project by extracting source files for customization. Use for UI components, blocks, templates, and MCP servers. Requires LPM CLI installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to install (defaults to latest)
pathNoTarget directory for installation (e.g., src/components/ui)
aliasNoImport alias prefix for rewriting (e.g., @/components/ui)
targetNoSwift SPM target name (for Swift packages)
forceNoOverwrite existing files without prompting
installDepsNoAuto-install npm dependencies (default: true, set false to skip)
configNoConfig schema params as key-value pairs (e.g., { "styling": "panda" })

TDQS

A4/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 discloses extraction (file writing) and CLI requirement, but lacks details on side effects like overwriting existing files or dependency modifications.

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, no unnecessary words. Efficient and easy to parse.

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 an add tool with 8 parameters and no output schema. Explains general use case and prerequisite, though missing some behavioral context like confirmation prompts (handled by force param in 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 description coverage is 100% with good individual parameter descriptions. The tool description does not add 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?

Clearly states the verb (Add) and resource (LPM package), with 'extracting source files for customization' differentiating it from siblings like lpm_install which is likely a simpler install.

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 lists use cases (UI components, blocks, templates, MCP servers) and prerequisite (LPM CLI installed). Does not explicitly mention when not to use, but the context is clear.

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

lpm_api_docsA

Get structured API documentation for an LPM package — functions, classes, interfaces, type aliases, enums, and variables with signatures, params, return types, and descriptions. Use this to understand how to use a package before installing it.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to get docs for (defaults to latest)

TDQS

A3.8/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 fully disclose behavioral traits. It only states what the tool returns, lacking details on permissions, rate limits, error handling, or 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?

Two sentences, front-loaded with purpose and content, followed by usage context. Every sentence adds value without 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?

Given no output schema, the description adequately explains the return content (functions, classes, etc.). Missing details on error behavior or output format, but sufficient for a simple info retrieval 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 coverage is 100% with descriptions for 'name' and 'version'. The tool description does not add extra meaning beyond the schema, such as format examples or constraints on values.

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 retrieves structured API documentation for LPM packages, listing specific components like functions, classes, interfaces. It distinguishes from sibling tools like lpm_docs by specifying 'structured API documentation'.

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 states when to use: 'before installing it'. While it doesn't list exclusions or alternatives, the use case is clearly communicated.

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

lpm_auditA

Run a security audit on the project's LPM dependencies. Returns behavioral tags (eval, childProcess, shell, dynamicRequire), AI security findings, quality scores, and lifecycle scripts. Requires LPM CLI installed and authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoProject directory to audit (defaults to current directory)

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. It discloses required authentication and CLI installation, and lists return contents. Could mention whether read-only or performance impact, but current clarity is high.

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 states action and resource, second lists outputs and prerequisites. No wasted words, front-loaded with core purpose.

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?

Simple tool with one optional param and no output schema. Description covers purpose, outputs, and prerequisite. Lacks explanation of terms like 'AI security findings' but adequate for typical agents.

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?

Only one parameter (path) with full schema coverage. Description adds 'Project directory' and default behavior, matching the schema. No extra semantic value beyond schema, so 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?

Description clearly states the tool runs a security audit on LPM dependencies, listing specific outputs (behavioral tags, AI security findings, etc.), which differentiates it from sibling tools like lpm_quality_report or lpm_install.

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 mentions prerequisite (LPM CLI installed and authentication) and implies when to use (security audit). Lacks explicit alternatives or when-not-to-use, but context from sibling tools covers this.

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

lpm_browse_sourceA

LAST RESORT: Browse source code of an LPM package remotely. Only use this when you cannot install the package (e.g., evaluating before purchase, checking capabilities without access). If you can install the package, prefer lpm_add or lpm_install first, then read the local files directly — it is faster.

Requires authentication. Pool packages require Pool subscription, marketplace packages require a license.

If you must use this tool: fetch directory paths (e.g., "src") to get multiple files in one request rather than individual files.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to browse (defaults to latest)
pathNoFile or directory path to browse (e.g., "src/index.js" or "src"). Omit to get file tree only. Pass empty string "" to get ALL source files at once.

TDQS

A4.9/5.0
Behavior5/5

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

No annotations are provided, so the description bears full responsibility. It discloses authentication requirements, subscription/license dependencies for different package types, and advises on minimizing requests. No contradictions with 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?

The description is concise and well-structured. It opens with a bold 'LAST RESORT' emphasis, then presents conditions, authentication details, and a usage tip. Every sentence adds value without redundancy.

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 no output schema and moderate complexity, the description covers purpose, usage conditions, authentication, and optimization. It is sufficiently complete for an agent to use the tool correctly.

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 description coverage is 100% and the description adds strategic context (e.g., using empty string for all files) that the schema lacks. However, the param descriptions in the schema already explain the fields adequately.

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's purpose: browsing source code of an LPM package remotely, and emphasizes it is a 'last resort' when installation is not possible. It clearly distinguishes from siblings like lpm_add and lpm_install.

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 provides clear when-to-use guidance ('only use this when you cannot install the package') and specifies alternatives ('prefer lpm_add or lpm_install'). It also offers tips for efficient usage (fetch directory paths).

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

lpm_docsA

Search or read LPM documentation. Use this when the user asks how to use LPM itself — setup, CLI commands, publishing, CI/CD, Swift registry, organizations, billing, etc. Without parameters: returns the docs index. With page: returns that specific page. With query: searches page titles and returns matching content.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoDocumentation page slug (e.g., "cli/commands", "packages/swift-registry", "getting-started/installation")
queryNoSearch query to find relevant docs (e.g., "npmrc", "swift", "CI deployment")

TDQS

A4.2/5.0
Behavior3/5

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

The description explains the three modes of operation (no params, with `page`, with `query`) but does not disclose output details, rate limits, or authentication needs. Without annotations, the description carries the full burden; it is adequate but not detailed.

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, with the first sentence stating the purpose and the second detailing parameter behavior. Every sentence adds value with 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 documentation tool with two optional parameters, the description covers the core functionality. However, without an output schema, mentioning what the response contains (e.g., text, links) would improve completeness.

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?

The schema has 100% coverage with descriptions for each parameter. The tool description adds value by explaining how parameters affect behavior (e.g., 'returns that specific page', 'searches page titles'), going beyond the schema alone.

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 ('Search or read LPM documentation') and lists specific topics (setup, CLI commands, publishing, etc.), effectively distinguishing it from sibling tools like lpm_api_docs or lpm_package_info.

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 states when to use the tool ('when the user asks how to use LPM itself') and describes behavior for each parameter combination, but does not provide exclusions or mention when not to use it.

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

lpm_installB

Install an LPM package as a managed dependency. JS packages go to node_modules (like npm install), Swift packages edit Package.swift via SE-0292. Use for libraries, utilities, and SDKs. Requires LPM CLI installed.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to install (defaults to latest)

TDQS

B3.4/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 explains the outcome (files go to node_modules or Package.swift is edited), but does not mention required permissions, side effects, or reversibility.

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?

Three sentences, no redundant information, and front-loaded with the core action. Could be slightly more structured but is efficient.

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 and no annotations, the description covers the main behavioral aspects but lacks details on return values, error handling, or real-world constraints. Adequate but not comprehensive.

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%, and the description repeats the schema's parameter descriptions without adding new meaning. Param details are already clear from 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 clearly states it installs an LPM package as a managed dependency with examples (JS and Swift). It uses specific verbs and resources, but does not explicitly differentiate from the sibling 'lpm_add' tool.

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?

It indicates the tool should be used for libraries, utilities, and SDKs, and requires the LPM CLI. However, it does not specify when not to use it or mention alternative tools.

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

lpm_llm_contextA

Get an LLM-optimized usage guide for an LPM package — purpose, quickStart code, key exports with signatures, common usage patterns, gotchas, and when to use it. Use this to quickly understand how to use a package correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to get context for (defaults to latest)

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosing behavior. It describes the output content (guide with code, patterns, gotchas) but does not specify any behavioral traits such as network requests, permissions needed, response format, or side effects. This is insufficient for full transparency.

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 concise with two sentences: the first enumerates content, the second states the use case. Every sentence adds value, no redundancy or fluff. Perfectly sized for quick comprehension.

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 no output schema or annotations, the description adequately conveys the tool's purpose and output content. However, it could be improved by mentioning the output format (e.g., plain text or structured markdown) and any prerequisites or constraints for using the guide.

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 covers both parameters with descriptions (name format and version default), achieving 100% schema coverage. The description adds no additional semantic meaning beyond what the schema already provides, justifying the baseline score of 3.

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 retrieves an LLM-optimized usage guide for an LPM package and lists specific content items (purpose, quickStart code, key exports, etc.), distinguishing it from similar tools like lpm_package_context by emphasizing the 'LLM-optimized' nature.

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 includes a clear use case: 'quickly understand how to use a package correctly.' It provides a strong context for when to use, but lacks explicit when-not or mention of alternatives like lpm_package_context, which would improve guidance.

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

lpm_marketplace_infoA

Get marketplace information for an LPM package — pricing, licensing model, seat management, and purchase status. Use this before recommending a paid package to check cost and access.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format

TDQS

A3.7/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 fully disclose behavior. It mentions the data returned but does not state if auth is required, rate limits exist, or how errors (e.g., missing package) are handled. This lack of detail leaves the agent with incomplete safety information.

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 two short, focused sentences: the first defines purpose, the second gives usage guidance. No words are wasted, and the most critical information is front-loaded.

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 or annotations, the description should cover output structure and error conditions. It lists the types of information returned but not their format or behavior on failure. This is adequate for a simple tool but leaves 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?

The schema covers 100% of the parameter with a clear description, making the tool's input self-documenting. The description adds no additional semantic value beyond restating the parameter format, but the schema alone is sufficient for correct usage.

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 retrieves marketplace information including pricing, licensing, seat management, and purchase status. It uses a specific verb ('Get') and resource ('marketplace information for an LPM package'), effectively distinguishing it from sibling tools like lpm_package_info.

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 advises using this tool before recommending a paid package to check cost and access, providing clear context for when it is appropriate. While it doesn't enumerate exclusions or alternatives, the guidance is direct and actionable.

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

lpm_package_contextA

Get complete context for an LPM package in a single call — combines condensed package metadata (name, version, description, install method, dependencies), structured API docs (functions, classes, types), and LLM usage guide (quickStart, patterns, gotchas). Use this BEFORE installing to evaluate and understand a package. If the package is already installed locally, prefer reading local files directly and use lpm_package_skills for usage patterns instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to get context for (defaults to latest)

TDQS

A4.4/5.0
Behavior4/5

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

No annotations were provided, so the description fully discloses the tool's purpose and outputs (metadata, API docs, usage guide), implying a read-only operation. It lacks mention of rate limits or auth, but these are not critical for a context retrieval 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?

Three sentences, each providing distinct value: what the tool does, when to use it, and when to use an alternative. No redundant information.

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 lack of output schema and annotations, the description adequately explains the tool's purpose and usage context. It could detail the return structure slightly, but the current level is sufficient for correct selection and invocation.

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 describes both parameters with 100% coverage. The description adds no additional parameter details beyond what the schema provides, meeting the baseline for high schema coverage.

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 the tool retrieves complete package context (metadata, API docs, usage guide) and explicitly differentiates it from sibling tools like lpm_package_skills by specifying when to use each.

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?

Clearly states to use this before installing to evaluate a package, and advises using local files and lpm_package_skills for already installed packages, providing clear when-to and when-not-to guidance.

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

lpm_package_infoA

Get metadata for an LPM package including versions, description, downloads, AI analysis, compatibility, and readme

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It states 'Get metadata' implying a read-only operation, but does not disclose any additional behaviors such as response size, rate limits, or authentication requirements. Adequate but minimal.

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 that efficiently conveys all necessary information without redundancy. Every part is meaningful.

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 only one parameter and no output schema, the description adequately explains what the tool returns (a list of metadata items), making it complete for a simple lookup 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% (the single parameter 'name' has a clear description in the schema). The tool description does not add any extra meaning beyond what the schema already provides, earning the baseline score of 3.

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 'Get' and resource 'metadata for an LPM package', listing specific items (versions, description, downloads, AI analysis, compatibility, readme). This differentiates it from siblings like lpm_package_context or lpm_quality_report.

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?

While the purpose is clear, there is no explicit guidance on when to use this tool versus alternatives. No 'when not to use' or mention of other tools for specific needs.

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

lpm_packages_by_ownerB

List packages published by a specific user or organization on the LPM registry. Shows public packages with distribution mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYesUsername or organization slug to list packages for
limitNoMaximum number of results (1-50, default 10)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided; description only states it shows public packages with distribution mode, but lacks details on pagination, rate limits, authentication, or data constraints.

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 redundant information, front-loaded with the core action.

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?

No output schema; description does not explain the return format, or pagination behavior. For a list tool, additional context on results is needed.

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 descriptions for both parameters; description adds no additional parameter meaning beyond what the schema provides.

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?

Describes the tool as listing packages by a specific owner on the LPM registry, clearly distinguishing it from sibling tools like lpm_search or lpm_package_info.

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 (e.g., lpm_search_owners, lpm_package_info). No explicit when-not or prerequisites.

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

lpm_package_skillsA

Get author-written Agent Skills for an LPM package — usage patterns, anti-patterns, gotchas, and best practices for code generation. Use this when BUILDING with an already-installed package. Skills are version-specific and automatically resolve from local package.json if no version is specified.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name or @lpm.dev/owner.package-name format
versionNoSpecific version to get skills for (defaults to version in local package.json, then latest)

TDQS

A4.2/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 the read-only nature (getting skills), version resolution behavior, and the scope (author-written). It does not mention error handling or permissions, but given the simplicity of the operation, this is adequate.

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, front-loading the purpose and adding essential usage context. Every sentence adds value without redundancy. It is highly concise considering the information conveyed.

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 2 parameters (1 required) and no output schema, the description covers the purpose, content of return, usage context, and version behavior. It could clarify the output format but is otherwise complete for most use cases.

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 both parameters having clear descriptions. The tool description mentions version-specific behavior and automatic resolution, which only partially adds to what the schema already says. The description does not significantly enhance parameter semantics 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 gets 'author-written Agent Skills' for an LPM package, listing specific content types (usage patterns, anti-patterns, gotchas, best practices). This differentiates it from sibling tools like lpm_package_info or lpm_docs, especially with the explicit use-case 'when BUILDING with an already-installed package'.

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 says 'use this when BUILDING with an already-installed package' and mentions that skills are version-specific with automatic resolution from package.json. However, it does not explicitly list when not to use it or name alternative tools, though the context strongly implies it.

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

lpm_pool_statsA

Get your Pool revenue sharing earnings estimate for the current month. Shows per-package breakdown with installs, share %, and estimated earnings. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description adequately discloses behavior: it presents a per-package breakdown of installs, share percentage, and estimated earnings. It also notes authentication needs. No destructive actions are implied, and the behavior is transparent for a read-only 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 two sentences with no wasted words. It front-loads the core purpose and details the output in the second sentence. Every piece of information is useful and concise.

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 parameterless tool with no output schema, the description provides complete context: what it returns (earnings estimate, per-package breakdown with installs, share %, earnings) and a requirement (authentication). Nothing essential is missing.

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?

The tool has zero parameters, and the schema coverage is 100%. The description does not need to elaborate on parameters. It adds no redundant information, and the baseline score of 4 is appropriate given no 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 clearly states the tool retrieves pool revenue sharing earnings estimates for the current month with a per-package breakdown. It uses specific verbs and resources, distinguishing it from sibling tools like lpm_package_info or lpm_search.

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 authentication is required but does not explicitly state when to use this tool versus alternatives. However, the context of sibling tools makes it clear this is for revenue stats, and the specificity of the purpose provides sufficient guidance.

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

lpm_quality_reportB

Get the quality score and detailed check breakdown for an LPM package (27 checks across documentation, code, testing, health)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPackage name in owner.package-name format

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. 'Get' implies read-only, but no explicit statement about side effects, permissions, or whether it makes network calls. Lacks detail on behavioral traits.

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?

Single sentence that is concise and front-loaded with key information (quality score and breakdown). No wasted words, but could be broken into a short definition and details.

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 and no annotations, the description provides the basic purpose but lacks details on return structure or format. Enough for simple use, but could be more complete.

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 covers parameter 'name' with clear description. Description adds context about the output (27 checks across categories) but not additional parameter semantics beyond schema. Baseline 3 for 100% coverage.

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 'Get' and resource 'quality score and detailed check breakdown for an LPM package' with specific count (27 checks) and categories (documentation, code, testing, health). Distinguishes from sibling tools like lpm_package_info.

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?

No explicit guidance on when to use this tool vs alternatives. Purpose implies it's used for quality assessment, but no conditions or exclusions are provided.

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

lpm_search_ownersB

Search for users or organizations on the LPM registry by name or username.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesName or username to search for
limitNoMaximum number of results (1-10, default 5)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It states 'Search' implying read-only, but lacks details on case sensitivity, exact vs. fuzzy matching, or what the response contains (e.g., list of owners with IDs). Minimal behavioral disclosure.

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?

Single sentence, front-loaded with key action, no redundant words. Efficiently conveys core purpose.

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?

For a simple search tool with no output schema, the description is adequate but could mention default result behavior or that results are limited. Leaves ambiguity about response format, making it only moderately complete.

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 covers 100% of parameters with clear descriptions (query as name/username, limit as max results). The description adds no additional parameter context, so baseline score of 3 applies.

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 'Search', the resource 'users or organizations on the LPM registry', and the method 'by name or username', effectively distinguishing it from sibling tools like lpm_search (likely for packages) and lpm_user_info (single user details).

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 lpm_user_info or lpm_packages_by_owner. The description does not specify search scope, behavior for partial matches, or scenarios where this tool is preferred.

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

lpm_user_infoA

Get information about the authenticated LPM user including organizations, plan tier, pool access, and usage limits. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The description mentions the authentication requirement and implies read-only behavior via 'Get information'. However, it does not explicitly state that the operation is non-destructive or provide additional behavioral context such as rate limits or caching. Given no annotations, the description partially fills the transparency gap.

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, front-loading the core purpose with specific details, and wastes no words. It efficiently conveys essential 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 zero-parameter tool with no output schema, the description is complete: it states the function, lists the returned information categories, and notes the authentication requirement. No further detail is necessary given the tool's low complexity.

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?

There are no parameters; the input schema is empty and coverage is 100%. Per calibration guidelines, with 0 parameters the baseline score is 4. No additional parameter information is needed.

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 it retrieves authenticated user information and enumerates specific data categories (organizations, plan tier, pool access, usage limits). The tool name 'lpm_user_info' further reinforces its distinct purpose, effectively distinguishing it from sibling 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?

The description does not provide any guidance on when to use this tool versus alternatives, nor does it specify prerequisites beyond authentication. For an agent facing multiple sibling tools, explicit usage context is missing.

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. 17 tool updatesv0.2.0
    • First observedlpm_add
    • First observedlpm_api_docs
    • First observedlpm_audit
    • First observedlpm_browse_source
    • First observedlpm_docs
    • First observedlpm_install
    • First observedlpm_llm_context
    • First observedlpm_marketplace_info
    • First observedlpm_package_context
    • First observedlpm_package_info
    • First observedlpm_package_skills
    • First observedlpm_packages_by_owner
    • First observedlpm_pool_stats
    • First observedlpm_quality_report
    • First observedlpm_search
    • First observedlpm_search_owners
    • First observedlpm_user_info

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: package management, information retrieval, search, user/owner operations, etc. Overlapping tools like lpm_api_docs, lpm_llm_context, and lpm_package_context are well-differentiated by the specific type of information they provide, and descriptions clearly state when to use each.

Naming Consistency5/5

All tools follow a consistent 'lpm_verb_noun' pattern using lowercase snake_case (e.g., lpm_add, lpm_api_docs, lpm_search_owners). Naming is predictable and makes it easy to infer a tool's function from its name.

Tool Count5/5

17 tools is well-scoped for a package registry server, covering the full workflow: discovery (search, info, docs), installation (add, install, audit), usage (browse_source, package_skills), and administrative actions (user_info, pool_stats). Each tool earns its place.

Completeness5/5

The tool surface is comprehensive for LPM registry operations, including search, package metadata, installation methods, source browsing, auditing, documentation, user/owner info, marketplace info, and pool earnings. No obvious gaps for common tasks.

Maintenance

ActivitySlowing
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

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/lpm-dev/mcp-server'

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