A Deno monorepo containing packages for JSR (JavaScript Registry) access: - @wyattjoh/jsr - Core library for JSR API access - @wyattjoh/jsr-mcp - Model Context Protocol (MCP) server for LLM integration - Search packages across the JSR registry - Get package details, versions, and dependencies - Manage scopes and package publishing - Handle member invitations and permissions - Access registry stati
Add this skill
npx mdskills install wyattjoh/jsr-mcpComprehensive MCP server with 40 tools for JSR registry operations, excellent setup documentation
1# JSR MCP23A Deno monorepo containing packages for JSR (JavaScript Registry) access:45- **[@wyattjoh/jsr](packages/jsr)** - Core library for JSR API access6- **[@wyattjoh/jsr-mcp](packages/jsr-mcp)** - Model Context Protocol (MCP) server for LLM integration78## Features910- Search packages across the JSR registry11- Get package details, versions, and dependencies12- Manage scopes and package publishing13- Handle member invitations and permissions14- Access registry statistics and metadata15- Full authentication support for write operations1617## Requirements1819- Deno 2.x or later20- Network access to JSR API21- JSR API token for authenticated operations (optional)2223## Packages2425### @wyattjoh/jsr2627Core library for accessing JSR API:2829```bash30deno add @wyattjoh/jsr31```3233```typescript34import { getPackage, searchPackages } from "@wyattjoh/jsr";3536const results = await searchPackages({ query: "react" });37const pkg = await getPackage("deno", "std");38```3940[See full documentation](packages/jsr/README.md)4142### @wyattjoh/jsr-mcp4344MCP server for LLM integration:4546```bash47# Run directly from JSR48deno run --allow-net --allow-env jsr:@wyattjoh/jsr-mcp4950# Or install globally51deno install --global --allow-net --allow-env -n jsr-mcp jsr:@wyattjoh/jsr-mcp52```5354For Claude Desktop app integration, add this to your `claude_desktop_config.json`:5556```json57{58 "mcpServers": {59 "jsr": {60 "command": "deno",61 "args": [62 "run",63 "--allow-net",64 "--allow-env",65 "jsr:@wyattjoh/jsr-mcp"66 ],67 "env": {68 "JSR_API_TOKEN": "your-api-token-here"69 }70 }71 }72}73```7475### Option 2: From Source76771. Clone this repository782. Install dependencies:79 ```bash80 deno cache packages/*/mod.ts81 ```823. Run the server:83 ```bash84 deno run --allow-net --allow-env packages/jsr-mcp/mod.ts85 ```8687### Available Tools8889The MCP server provides 40 tools for comprehensive JSR access:9091#### Package Operations9293- **jsr_search_packages** - Search for packages94- **jsr_get_package** - Get package details95- **jsr_get_package_version** - Get specific version details96- **jsr_list_package_versions** - List all versions97- **jsr_get_package_metadata** - Get package metadata98- **jsr_get_package_dependencies** - Get dependencies99- **jsr_get_package_score** - Get package quality score100- **jsr_get_package_dependents** - Find dependent packages101- **jsr_create_package** - Create new package (requires auth)102- **jsr_update_package** - Update package (requires auth)103- **jsr_delete_package** - Delete package (requires auth)104105#### Package Version Management106107- **jsr_create_package_version** - Upload new version (requires auth)108- **jsr_update_package_version** - Update version, e.g., yank (requires auth)109110#### Scope Management111112- **jsr_get_scope** - Get scope details113- **jsr_list_scope_packages** - List packages in a scope114- **jsr_create_scope** - Create new scope (requires auth)115- **jsr_update_scope** - Update scope settings (requires auth)116- **jsr_delete_scope** - Delete scope (requires auth)117118#### Member Management119120- **jsr_list_scope_members** - List scope members121- **jsr_add_scope_member** - Invite member (requires auth)122- **jsr_update_scope_member** - Update member role (requires auth)123- **jsr_remove_scope_member** - Remove member (requires auth)124- **jsr_list_scope_invites** - List pending invites125- **jsr_delete_scope_invite** - Delete scope invite (requires auth)126- **jsr_accept_scope_invite** - Accept invite (requires auth)127- **jsr_decline_scope_invite** - Decline invite (requires auth)128129#### User Operations130131- **jsr_get_current_user** - Get authenticated user132- **jsr_get_current_user_scopes** - Get user's scopes133- **jsr_get_current_user_scope_member** - Get user's membership in a scope134- **jsr_get_current_user_invites** - Get user's pending invites135- **jsr_get_user** - Get user details136- **jsr_get_user_scopes** - Get user's scopes137138#### Registry Operations139140- **jsr_list_packages** - List all registry packages141- **jsr_get_stats** - Get registry statistics142143#### Authorization (OAuth)144145- **jsr_create_authorization** - Start authorization flow (requires auth)146- **jsr_get_authorization_details** - Get authorization details147- **jsr_approve_authorization** - Approve authorization (requires auth)148- **jsr_deny_authorization** - Deny authorization (requires auth)149- **jsr_exchange_authorization** - Exchange code for token (requires auth)150151#### Publishing152153- **jsr_get_publishing_task** - Get publishing task status154155### Example Usage156157```javascript158// Search for packages159jsr_search_packages({ query: "react", limit: 10 });160161// Get package details162jsr_get_package({ scope: "deno", name: "std" });163164// List versions with pagination165jsr_list_package_versions({166 scope: "deno",167 name: "std",168 limit: 20,169 page: 1,170});171172// Get dependencies for a specific version173jsr_get_package_dependencies({174 scope: "deno",175 name: "std",176 version: "1.0.0",177});178179// Create a new scope (requires authentication)180jsr_create_scope({181 scope: "my-org",182 description: "My organization's packages",183});184```185186## Security Notes187188- Read operations do not require authentication189- Write operations require a valid JSR API token190- The server only accesses the JSR API endpoints191- No local file system access beyond reading environment variables192193## Development194195This is a Deno workspace monorepo. All commands run from the root affect all packages.196197```bash198# Clone the repository199git clone https://github.com/wyattjoh/jsr-mcp.git200cd jsr-mcp201202# Cache dependencies203deno cache packages/*/mod.ts204205# Format all code206deno fmt207208# Lint all packages209deno lint210211# Type check all packages212deno check packages/jsr/mod.ts packages/jsr-mcp/mod.ts213214# Run tests215deno test --allow-net packages/216217# Run MCP server locally (with watch mode)218deno run --allow-read --allow-write --allow-env --allow-run --allow-net --watch packages/jsr-mcp/mod.ts219220# Run MCP server in production221deno run --allow-read --allow-write --allow-env --allow-run --allow-net packages/jsr-mcp/mod.ts222223# Build binary224cd packages/jsr-mcp225deno compile --allow-read --allow-write --allow-env --allow-run --allow-net --output=jsr-mcp mod.ts226227# Publish packages (CI/CD)228deno publish229```230231### Working on Individual Packages232233```bash234# Work on @wyattjoh/jsr235cd packages/jsr236deno test --allow-net237238# Work on @wyattjoh/jsr-mcp239cd packages/jsr-mcp240deno run --allow-net --allow-env mod.ts241```242243## License244245MIT246
Full transparency — inspect the skill content before installing.