JSR

Model Context Protocol server for the JSR (JavaScript Registry)
  • typescript

1

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "wyattjoh-jsr-mcp": {
      "command": "deno",
      "args": [
        "run",
        "--allow-net",
        "--allow-env",
        "jsr:@wyattjoh/jsr-mcp"
      ],
      "env": {
        "JSR_API_TOKEN": "YOUR_API_TOKEN"
      }
    }
  }
}

You can use the JSR MCP server to expose access to the JavaScript Registry (JSR) for large language models. It provides programmatic actions like searching and retrieving package details, managing scopes and publishing, handling member invites, and obtaining registry statistics, all through a ready-to-run MCP interface that you can connect to from your LLM or automation tooling.

How to use

You interact with the JSR MCP server by starting it as a local process or connecting to a remote MCP endpoint that exposes the JSR MCP interface. Once running, your client can perform common tasks such as searching for packages, fetching package details and versions, listing dependencies, and managing scopes, members, and authorships. The MCP server also supports authentication for operations that write data, while read-only queries do not require an API token.

How to install

# Prerequisites: ensure you have Deno 2.x or later installed
# 1) Run the MCP server directly from your environment
deno run --allow-net --allow-env jsr:@wyattjoh/jsr-mcp

# 2) Or install the MCP server globally for repeated use
deno install --global --allow-net --allow-env -n jsr-mcp jsr:@wyattjoh/jsr-mcp

If you plan to configure a client like Claude Desktop to use the MCP server, add an entry for the JSR MCP server in your client configuration with the runtime command and environment variable for authentication. The example below shows how you would wire the server to a desktop app, including the required token placeholder.

Configuration and usage notes

Two common ways to run the MCP server are shown here. You can start the server directly with Deno or install it globally and run it by name. If you are keeping dependencies local to a project, use the local run form. If you want a persistent, reusable command, install globally and invoke with the short name.

Troubleshooting

If you encounter permission or network errors, verify that your environment allows network access and the required permissions for Deno, then re-run with the appropriate flags. For authentication-related write operations, supply a valid JSR API token. If you see token errors, ensure your token is correctly set in the environment before starting the server.

Available tools

jsr_search_packages

Search the JSR registry for packages matching a query.

jsr_get_package

Retrieve details for a specific package by scope and name.

jsr_get_package_version

Get details for a specific package version.

jsr_list_package_versions

List all versions for a given package.

jsr_get_package_metadata

Fetch metadata for a package.

jsr_get_package_dependencies

Fetch dependency information for a package version.

jsr_get_package_score

Retrieve a quality or score metric for a package.

jsr_get_package_dependents

Find packages that depend on a given package.

jsr_create_package

Create a new package (requires authentication).

jsr_update_package

Update package metadata (requires authentication).

jsr_delete_package

Delete a package (requires authentication).

jsr_create_package_version

Upload a new version for a package (requires authentication).

jsr_update_package_version

Update or yank a specific package version (requires authentication).

jsr_get_scope

Fetch details about a scope.

jsr_list_scope_packages

List all packages within a scope.

jsr_create_scope

Create a new scope (requires authentication).

jsr_update_scope

Update scope settings (requires authentication).

jsr_delete_scope

Delete a scope (requires authentication).

jsr_list_scope_members

List all members of a scope.

jsr_add_scope_member

Invite a member to a scope (requires authentication).

jsr_update_scope_member

Update a member's role within a scope (requires authentication).

jsr_remove_scope_member

Remove a member from a scope (requires authentication).

jsr_list_scope_invites

List pending invites for a scope.

jsr_delete_scope_invite

Delete a pending scope invite (requires authentication).

jsr_accept_scope_invite

Accept a scope invite (requires authentication).

jsr_decline_scope_invite

Decline a scope invite (requires authentication).

jsr_get_current_user

Retrieve information about the authenticated user.

jsr_get_current_user_scopes

List scopes associated with the authenticated user.

jsr_get_current_user_scope_member

Get the user's membership in a scope.

jsr_get_current_user_invites

List the user's pending invites.

jsr_get_user

Fetch details about a user.

jsr_get_user_scopes

List scopes associated with a user.

jsr_list_packages

List all registry packages.

jsr_get_stats

Get registry statistics.

jsr_create_authorization

Start an OAuth authorization flow (requires auth).

jsr_get_authorization_details

Get details for an ongoing authorization.

jsr_approve_authorization

Approve an authorization (requires auth).

jsr_deny_authorization

Deny an authorization (requires auth).

jsr_exchange_authorization

Exchange an authorization code for a token (requires auth).

jsr_get_publishing_task

Check the status of a publishing task.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational