Software
Data source: npm, PyPI, crates.io, OSV.dev
MCP Protocol
Endpoint
https://context.gnist.ai/mcp/package-registry/
claude_desktop_config.json
{
"mcpServers": {
"gnist-package-registry": {
"url": "https://context.gnist.ai/mcp/package-registry/",
"headers": {
"Gnist-API-Key": "YOUR_API_KEY"
}
}
}
}
Shell
curl -X POST "https://context.gnist.ai/mcp/package-registry/" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Gnist-API-Key: YOUR_API_KEY" \
-d '{"jsonrpc": "2.0", "method": "tools/call", "id": 1, "params": {"name": "get_package", "arguments": {"ecosystem": "example", "name": "example"}}}'
REST API
API Root
https://context.gnist.ai/rest/package-registry/
7 endpoints available:
GET /rest/package-registry/get_packageGET /rest/package-registry/get_package_versionsGET /rest/package-registry/get_download_statsGET /rest/package-registry/get_dependenciesGET /rest/package-registry/get_vulnerabilitiesGET /rest/package-registry/search_packagesGET /rest/package-registry/report_feedback
Shell
curl "https://context.gnist.ai/rest/package-registry/get_package?ecosystem=example&name=example" \ -H "Gnist-API-Key: YOUR_API_KEY"
Python
import httpx
resp = httpx.get(
"https://context.gnist.ai/rest/package-registry/get_package",
headers={"Gnist-API-Key": "YOUR_API_KEY"},
params={
"ecosystem": "example",
"name": "example"
},
)
print(resp.json())
Command Line
Command
gc package-registry
CLI documentation will be available when the GnistAI SDK is published.
Install
pip install gnistai
Available Tools (7)
get_packageGet metadata for a package — latest version, description, license, maintainers.
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
name | string | required | Package name (e.g. 'express', 'requests', 'tokio'). |
get_package_versionsGet full release history for a package with publish timestamps.
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
name | string | required | Package name. |
get_download_statsGet download statistics for a package.
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
name | string | required | Package name. |
period | string | optional | Time period — 'last-week' or 'last-month' (npm and PyPI). crates.io always returns recent 90-day downloads. (default: "last-week") |
get_dependenciesGet direct dependencies for a package version.
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
name | string | required | Package name. |
version | any | optional | Specific version string. If omitted, uses the latest release. |
get_vulnerabilitiesGet known vulnerabilities for a package via OSV.dev (covers npm, PyPI, crates.io).
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
name | string | required | Package name. |
version | any | optional | Specific version to check. If omitted, returns all known vulns for the package. |
search_packagesSearch for packages by keyword across npm, PyPI, or crates.io.
| Parameter | Type | Required | Description |
|---|---|---|---|
ecosystem | string | required | Package ecosystem: 'npm', 'pypi', or 'crates'. |
query | string | required | Search keywords (e.g. 'http client async', 'date parsing'). |
limit | integer | optional | Maximum results (1–50, default 20). (default: 20) |
report_feedbackReport a bug, feature request, or general feedback for this data source.
| Parameter | Type | Required | Description |
|---|---|---|---|
feedback | string | required | |
feedback_type | string | optional | (default: "general") |