by oborchers
Easily search npm and other repositories with Package Manager. Get package, version, and dependency info fast. Supports
Search and retrieve detailed information about packages across multiple repositories including PyPI, npm, crates.io, Docker Hub, and Terraform Registry.
Package Manager is a community-built MCP server published by oborchers that provides AI assistants with tools and capabilities via the Model Context Protocol. Easily search npm and other repositories with Package Manager. Get package, version, and dependency info fast. Supports It is categorized under developer tools. This server exposes 5 tools that AI clients can invoke during conversations and coding sessions.
You can install Package Manager in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
MIT
Package Manager is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Add new capabilities to Claude beyond text generation
Example
Access external data sources, execute code, interact with tools and services
Transform Claude from chatbot to action-taking agent
Provide Claude with access to relevant context and data
Example
Load project documentation, access knowledge bases, query databases
Get more accurate, context-aware responses
Automate multi-step workflows combining AI and external tools
Example
Research → Summarize → Create document → Send notification
Complete complex tasks end-to-end without manual steps
Share your MCP server with the developer community
Package Manager is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Package Manager is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Package Manager reduced integration guesswork — categories and install configs on the listing matched the upstream repo.
Strong directory entry: Package Manager surfaces stars and publisher context so we could sanity-check maintenance before adopting.
Package Manager is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Package Manager is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Package Manager is a well-scoped MCP server in the explainx.ai directory — install snippets and categories matched our Claude Code setup.
Package Manager is among the better-indexed MCP projects we tried; the explainx.ai summary tracks the official description.
Useful MCP listing: Package Manager is the kind of server we cite when onboarding engineers to host + tool permissions.
We wired Package Manager into a staging workspace; the listing’s GitHub and npm pointers saved time versus hunting across READMEs.
showing 1-10 of 56

A Model Context Protocol server that provides package index querying capabilities. This server enables LLMs to search and retrieve information from package repositories like PyPI, npm, crates.io, Docker Hub, and Terraform Registry.
<a href="https://glama.ai/mcp/servers/@oborchers/mcp-server-pacman"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@oborchers/mcp-server-pacman/badge" alt="mcp-server-pacman MCP server" /> </a>search_package - Search for packages in package indices
index (string, required): Package index to search ("pypi", "npm", "crates", "terraform")query (string, required): Package name or search querylimit (integer, optional): Maximum number of results to return (default: 5, max: 50)package_info - Get detailed information about a specific package
index (string, required): Package index to query ("pypi", "npm", "crates", "terraform")name (string, required): Package nameversion (string, optional): Specific version to get info for (default: latest)search_docker_image - Search for Docker images in Docker Hub
query (string, required): Image name or search querylimit (integer, optional): Maximum number of results to return (default: 5, max: 50)docker_image_info - Get detailed information about a specific Docker image
name (string, required): Image name (e.g., user/repo or library/repo)tag (string, optional): Specific image tag (default: latest)terraform_module_latest_version - Get the latest version of a Terraform module
name (string, required): Module name (format: namespace/name/provider)search_pypi
query (string, required): Package name or search querypypi_info
name (string, required): Package nameversion (string, optional): Specific versionsearch_npm
query (string, required): Package name or search querynpm_info
name (string, required): Package nameversion (string, optional): Specific versionsearch_crates
query (string, required): Package name or search querycrates_info
name (string, required): Package nameversion (string, optional): Specific versionsearch_docker
query (string, required): Image name or search querydocker_info
name (string, required): Image name (e.g., user/repo)tag (string, optional): Specific tagsearch_terraform
query (string, required): Module name or search queryterraform_info
name (string, required): Module name (format: namespace/name/provider)terraform_latest_version
name (string, required): Module name (format: namespace/name/provider)When using uv no specific installation is needed. We will
use uvx to directly run mcp-server-pacman.
Alternatively you can install mcp-server-pacman via pip:
pip install mcp-server-pacman
After installation, you can run it as a script using:
python -m mcp_server_pacman
You can also use the Docker image:
docker pull oborchers/mcp-server-pacman:latest
docker run -i --rm oborchers/mcp-server-pacman
Add to your Claude settings:
<details> <summary>Using uvx</summary>"mcpServers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
</details>
<details>
<summary>Using docker</summary>
"mcpServers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
</details>
<details>
<summary>Using pip installation</summary>
"mcpServers": {
"pacman": {
"command": "python",
"args": ["-m", "mcp-server-pacman"]
}
}
</details>
For manual installation, add the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing Ctrl + Shift + P and typing Preferences: Open User Settings (JSON).
Optionally, you can add it to a file called .vscode/mcp.json in your workspace. This will allow you to share the configuration with others.
<details> <summary>Using uvx</summary>Note that the
mcpkey is needed when using themcp.jsonfile.
{
"mcp": {
"servers": {
"pacman": {
"command": "uvx",
"args": ["mcp-server-pacman"]
}
}
}
}
</details>
<details>
<summary>Using Docker</summary>
{
"mcp": {
"servers": {
"pacman": {
"command": "docker",
"args": ["run", "-i", "--rm", "oborchers/mcp-server-pacman:latest"]
}
}
}
}
</details>
By default, the server will use the user-agent:
ModelContextProtocol/1.0 Pacman (+https://github.com/modelcontextprotocol/servers)
This can be customized by adding the argument --user-agent=YourUserAgent to the args list in the configuration.
Run all tests:
uv run pytest -xvs
Run specific test categories:
# Run all provider tests
uv run pytest -xvs tests/providers/
# Run integration tests for a specific provider
uv run pytest -xvs tests/integration/test_pypi_integration.py
# Run specific test class
uv run pytest -xvs tests/providers/test_npm.py::TestNPMFunctions
# Run a specific test method
uv run pytest -xvs tests/providers/test_pypi.py::TestPyPIFunctions::test_search_pypi_success
Check code style:
uv run ruff check .
uv run ruff format --check .
Format code:
uv run ruff format .
You can use the MCP inspector to debug the server. For uvx installations:
npx @modelcontextprotocol/inspector uvx mcp-server-pacman
Or if you've installed the package in a specific directory or are developing on it:
cd path/to/pacman
npx @modelcontextprotocol/inspector uv run mcp-server-pacman
The project uses GitHub Actions for automated releases:
pyproject.tomlgit tag vX.Y.Z (e.g., git tag v0.1.0)git push --tagsThis will automatically:
pyproject.toml matches the tagoborchers/mcp-server-pacman:latest and oborchers/mcp-server-pacman:X.Y.ZThe codebase is organized into the following structure:
src/mcp_server_pacman/
├── models/ # Data models/schemas
├── providers/ # Package registry API clients
│ ├── pypi.py # PyPI API functions
│ ├── npm.py # npm API functions
│ ├── crates.py # crates.io API functions
│ ├── dockerhub.py # Docker Hub API functions
│ └── terraform.py # Terraform Registry API functions
├── utils/ # Utilities and helpers
│ ├── cache.py # Caching functionality
│ ├── constants.py # Shared constants
│ └── parsers.py # HTML parsing utilities
├── __init__.py # Package initialization
├── __main__.py # Entry point
└── server.py # MCP server implementation
Tests follow a similar structure:
tests/
├── integration/ # Integration tests (real API calls)
├── models/ # Model validation tests
├── providers/ # Provider function tests
└── utils/ # Test utilities
We encourage contributions to help expand and improve mcp-server-pacman. Whether you want to add new package indices, enhance existing functionality, or improve documentation, your input is valuable.
For examples of other MCP servers and implementation patterns, see: https://github.com/modelcontextprotocol/servers
Pull requests are welcome! Feel free to contribute new ideas, bug fixes, or enhancements to make mcp-server-pacman even more powerful and useful.
mcp-server-pacman is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
Prerequisites
Time Estimate
15-60 minutes depending on server complexity
Steps
Troubleshooting
✓ Do
✗ Don't
💡 Pro Tips
Architecture
Model Context Protocol standardizes how AI hosts (Claude, Cursor) communicate with external tools and data sources through server implementations.
Protocols
Compatibility
✓ Use when
Use when you need Claude to access external data, execute actions, or integrate with tools. Best for extending AI capabilities beyond conversation.
✗ Avoid when
Avoid when native integrations exist (use official APIs directly), for real-time critical systems, or when security/compliance requires zero external dependencies.