ecosyste-ms / ecosyste-ms/roadmap

Ecosyste.ms MCP server

Open
#23 3 comments 2 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
22
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Set up an MCP server to provide LLMs accurate and up to date data about package manager registries, packages, versions and other information.

The MCP specs and integrations are all very new and changing constantly, so let's keep it lightweight for now, mostly calling through to existing API endpoints.

It seems like people are focusing individual tools aon a very tight scope, so here's a list of potential "tools" we could make given existing apis:

- **latest_version** – get the latest version of a package
- **all_versions** – list all published versions of a package
- **package_name_to_repo_url** – map package name to its source repository
- **package_name_to_license** – get the license declared by a package
- **package_name_to_homepage** – get the homepage URL from package metadata
- **repo_url_to_package_names** – find all packages linked to a given repo
- **version_advisories** – list security advisories for a specific version
- **package_downloads** – return download stats (total, per version, etc.)
- **package_dependents** – return packages that depend on the given package
- **package_dependencies** – return dependencies of a given version
- **repo_to_contributors** – list recent contributors for a given repo
- **repo_to_maintainers** – list maintainers from package and repo metadata
- **repo_to_license** – detect license from repo contents (fallback for missing metadata)

Some more possible ones (generated by chatgpt):

- **package_readme** – get the current README contents for a package
- **version_readme** – get the README for a specific version
- **readme_to_headings** – extract section headings from a README
- **readme_to_summary** – extract or generate a short summary from the README
- **readme_to_badges** – extract badge metadata (build, coverage, funding, etc.)
- **readme_mentions_links** – list all links or mentions in the README
- **readme_mentions_citation** – detect presence of citation or DOI info
- **readme_to_images** – extract images or logos used in the README
- **readme_language_detect** – detect the primary language of the README
- **readme_has_usage_example** – detect whether usage examples are included
- **package_to_maintainers** – list maintainers from registry metadata
- **repo_to_maintainers** – list maintainers from repo metadata (e.g. CODEOWNERS)
- **maintainer_to_packages** – find all packages a maintainer is responsible for
- **maintainer_to_repos** – find all repos a maintainer contributes to
- **maintainer_activity_summary** – recent commits, PRs, releases by a maintainer
- **maintainer_to_funding_links** – get GitHub Sponsors / OpenCollective URLs
- **list_registries** – list supported registries (npm, crates.io, rubygems, etc.)
- **registry_package_search** – search for a package name within a registry
- **registry_package_metadata** – raw metadata fetch for a package
- **registry_to_ecosystem_name** – map a registry to a normalized ecosystem ID
- **repo_to_commits** – list recent commits for a repo
- **repo_to_open_issues** – fetch open issues from GitHub or similar
- **repo_search_issues** – search issues across repos (by label, keyword, etc.)
- **repo_to_funding_links** – return links to funding sources in repo metadata
- **repo_to_open_prs** – list currently open pull requests
- **package_to_related_packages** – suggest similar packages in same ecosystem
- **package_to_alternatives** – suggest known drop-in replacements
- **package_to_forks** – list known forks of the main repo
- **package_name_fuzzy_search** – fuzzy match by name or keyword
- **package_to_funding_links** – return all funding URLs in metadata and README
- **repo_to_collective** – map repo to OpenCollective (if known)
- **package_is_fundable** – boolean flag if package has any donation link

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named in the issue. First clarify which MCP tools and existing API endpoints are in scope, then define the selected tools' interfaces and tests so completion can be measured.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.