Enables fetching package information, README content, and searching for PHP/Composer packages, including metadata, dependencies, and usage examples.
Integrates with GitHub API to fetch enhanced README content when Composer packages link to GitHub repositories.
Provides tools for searching and retrieving comprehensive package information from Packagist, including README content, metadata, dependencies, versions, statistics, and maintainer information.
Composer Package README MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to fetch comprehensive information about Composer packages from Packagist, including README content, package metadata, and search functionality.
Features
Package README Retrieval: Fetch formatted README content with usage examples from PHP/Composer packages hosted on Packagist
Package Information: Get comprehensive package metadata including dependencies, versions, statistics, and maintainer information
Package Search: Search Packagist with advanced filtering by type, popularity, and relevance
Smart Caching: Intelligent caching system to optimize API usage and improve response times
GitHub Integration: Seamless integration with GitHub API for enhanced README fetching when packages link to GitHub repositories
Error Handling: Robust error handling with automatic retry logic and fallback strategies
MCP Client Configuration
Add this server to your MCP client configuration:
Note: The
GITHUB_TOKENis optional but recommended for higher API rate limits when fetching README content from GitHub.
Available Tools
get_package_readme
Retrieves comprehensive README content and usage examples for Composer packages.
Parameters:
package_name(string, required): Composer package name invendor/packageformatversion(string, optional): Specific package version or "latest" (default: "latest")include_examples(boolean, optional): Include usage examples and code snippets (default: true)
Returns: Formatted README content with installation instructions, usage examples, and API documentation.
get_package_info
Fetches detailed package metadata, dependencies, and statistics from Packagist.
Parameters:
package_name(string, required): Composer package nameinclude_dependencies(boolean, optional): Include runtime dependencies (default: true)include_dev_dependencies(boolean, optional): Include development dependencies (default: false)
Returns: Package metadata including version info, maintainers, license, download stats, and dependency tree.
search_packages
Searches Packagist for packages with advanced filtering capabilities.
Parameters:
query(string, required): Search terms (package name, description, keywords)limit(number, optional): Maximum number of results to return (default: 20, max: 100)type(string, optional): Filter by package type (library, project, metapackage, etc.)
Returns: List of matching packages with names, descriptions, download counts, and relevance scores.
Error Handling
The server handles common error scenarios gracefully:
Package not found: Returns clear error messages with package name suggestions
Rate limiting: Implements automatic retry with exponential backoff
Network timeouts: Configurable timeout with retry logic
Invalid package names: Validates package name format and provides guidance
GitHub API failures: Fallback strategies when GitHub integration fails
License
MIT