JSR
- 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.