Skip to main content
Glama

JSR MCP

A Deno monorepo containing packages for JSR (JavaScript Registry) access:

Features

  • Search packages across the JSR registry

  • Get package details, versions, and dependencies

  • Manage scopes and package publishing

  • Handle member invitations and permissions

  • Access registry statistics and metadata

  • Full authentication support for write operations

Related MCP server: mcp-longbridge

Requirements

  • Deno 2.x or later

  • Network access to JSR API

  • JSR API token for authenticated operations (optional)

Packages

@wyattjoh/jsr

Core library for accessing JSR API:

deno add @wyattjoh/jsr
import { getPackage, searchPackages } from "@wyattjoh/jsr"; const results = await searchPackages({ query: "react" }); const pkg = await getPackage("deno", "std");

See full documentation

@wyattjoh/jsr-mcp

MCP server for LLM integration:

# Run directly from JSR deno run --allow-net --allow-env jsr:@wyattjoh/jsr-mcp # Or install globally deno install --global --allow-net --allow-env -n jsr-mcp jsr:@wyattjoh/jsr-mcp

For Claude Desktop app integration, add this to your claude_desktop_config.json:

{ "mcpServers": { "jsr": { "command": "deno", "args": [ "run", "--allow-net", "--allow-env", "jsr:@wyattjoh/jsr-mcp" ], "env": { "JSR_API_TOKEN": "your-api-token-here" } } } }

Option 2: From Source

  1. Clone this repository

  2. Install dependencies:

    deno cache packages/*/mod.ts
  3. Run the server:

    deno run --allow-net --allow-env packages/jsr-mcp/mod.ts

Available Tools

The MCP server provides 40 tools for comprehensive JSR access:

Package Operations

  • jsr_search_packages - Search for packages

  • jsr_get_package - Get package details

  • jsr_get_package_version - Get specific version details

  • jsr_list_package_versions - List all versions

  • jsr_get_package_metadata - Get package metadata

  • jsr_get_package_dependencies - Get dependencies

  • jsr_get_package_score - Get package quality score

  • jsr_get_package_dependents - Find dependent packages

  • jsr_create_package - Create new package (requires auth)

  • jsr_update_package - Update package (requires auth)

  • jsr_delete_package - Delete package (requires auth)

Package Version Management

  • jsr_create_package_version - Upload new version (requires auth)

  • jsr_update_package_version - Update version, e.g., yank (requires auth)

Scope Management

  • jsr_get_scope - Get scope details

  • jsr_list_scope_packages - List packages in a scope

  • jsr_create_scope - Create new scope (requires auth)

  • jsr_update_scope - Update scope settings (requires auth)

  • jsr_delete_scope - Delete scope (requires auth)

Member Management

  • jsr_list_scope_members - List scope members

  • jsr_add_scope_member - Invite member (requires auth)

  • jsr_update_scope_member - Update member role (requires auth)

  • jsr_remove_scope_member - Remove member (requires auth)

  • jsr_list_scope_invites - List pending invites

  • jsr_delete_scope_invite - Delete scope invite (requires auth)

  • jsr_accept_scope_invite - Accept invite (requires auth)

  • jsr_decline_scope_invite - Decline invite (requires auth)

User Operations

  • jsr_get_current_user - Get authenticated user

  • jsr_get_current_user_scopes - Get user's scopes

  • jsr_get_current_user_scope_member - Get user's membership in a scope

  • jsr_get_current_user_invites - Get user's pending invites

  • jsr_get_user - Get user details

  • jsr_get_user_scopes - Get user's scopes

Registry Operations

  • jsr_list_packages - List all registry packages

  • jsr_get_stats - Get registry statistics

Authorization (OAuth)

  • jsr_create_authorization - Start authorization flow (requires auth)

  • jsr_get_authorization_details - Get authorization details

  • jsr_approve_authorization - Approve authorization (requires auth)

  • jsr_deny_authorization - Deny authorization (requires auth)

  • jsr_exchange_authorization - Exchange code for token (requires auth)

Publishing

  • jsr_get_publishing_task - Get publishing task status

Example Usage

// Search for packages jsr_search_packages({ query: "react", limit: 10 }); // Get package details jsr_get_package({ scope: "deno", name: "std" }); // List versions with pagination jsr_list_package_versions({ scope: "deno", name: "std", limit: 20, page: 1, }); // Get dependencies for a specific version jsr_get_package_dependencies({ scope: "deno", name: "std", version: "1.0.0", }); // Create a new scope (requires authentication) jsr_create_scope({ scope: "my-org", description: "My organization's packages", });

Security Notes

  • Read operations do not require authentication

  • Write operations require a valid JSR API token

  • The server only accesses the JSR API endpoints

  • No local file system access beyond reading environment variables

Development

This is a Deno workspace monorepo. All commands run from the root affect all packages.

# Clone the repository git clone https://github.com/wyattjoh/jsr-mcp.git cd jsr-mcp # Cache dependencies deno cache packages/*/mod.ts # Format all code deno fmt # Lint all packages deno lint # Type check all packages deno check packages/jsr/mod.ts packages/jsr-mcp/mod.ts # Run tests deno test --allow-net packages/ # Run MCP server locally (with watch mode) deno run --allow-read --allow-write --allow-env --allow-run --allow-net --watch packages/jsr-mcp/mod.ts # Run MCP server in production deno run --allow-read --allow-write --allow-env --allow-run --allow-net packages/jsr-mcp/mod.ts # Build binary cd packages/jsr-mcp deno compile --allow-read --allow-write --allow-env --allow-run --allow-net --output=jsr-mcp mod.ts # Publish packages (CI/CD) deno publish

Working on Individual Packages

# Work on @wyattjoh/jsr cd packages/jsr deno test --allow-net # Work on @wyattjoh/jsr-mcp cd packages/jsr-mcp deno run --allow-net --allow-env mod.ts

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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/wyattjoh/jsr-mcp'

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