GitHub
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server to search, compare, and recommend npm packages by size, popularity, and maintenance.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"npm-advisor": {
"command": "npx",
"args": [
"-y",
"npm-advisor-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add npm-advisor -- npx -y npm-advisor-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"npm-advisor": {
"command": "npx",
"args": [
"-y",
"npm-advisor-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"npm-advisor": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"npm-advisor-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 9 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub YashviGupta15 ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.3) เข้า registry 3 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้
MCP server for terminal commands, file operations, and process management
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Model Context Protocol (MCP) server that acts as an intelligent npm package advisor. Describe the feature you need, and it will search the registry, compare candidates, audit for vulnerabilities, and recommend the best library based on bundle size, popularity, maintenance, TypeScript support, and more.
npm-advisor-mcp/
├── package.json # Project manifest (ESM, Node 18+) ├── tsconfig.json # TypeScript strict config (ES2022/Node16) ├── mcp-config.json # Ready-to-use Kiro MCP configuration snippet ├── src/ │ ├── index.ts # MCP server entry point (stdio transport) │ ├── models/ │ │ └── types.ts # Shared interfaces and scoring weights │ ├── services/ │ │ ├── cache.ts # In-memory TTL cache (2/5/10 min tiers) │ │ ├── npm-registry.ts # registry.npmjs.org client │ │ ├── npm-audit.ts # npm security advisory API client │ │ ├── bundlephobia.ts # Bundle size data (bundlephobia.com) │ │ ├── npms-io.ts # Quality/maintenance/popularity scores │ │ └── scoring.ts # Weighted recommendation engine + license checker │ └── tools/ │ ├── search-packages.ts │ ├── compare-packages.ts │ ├── package-details.ts │ ├── recommend.ts │ ├── resolve-doubt.ts │ ├── audit-package.ts │ ├── find-alternatives.ts │ ├── check-deprecation.ts │ ├── generate-install-command.ts │ └── get-changelog.ts └── dist/ # Compiled output (generated by npm run build)
fetch)No API keys required — all data sources are public and free.
cd C:\Users\617500221\Projects\AI-Tools\npm-advisor-mcp
npm install npm run build
Add this to your ~/.kiro/settings/mcp.json inside the "mcpServers" object:
"npm-advisor": {
"command": "node", "args": [ "C:\\Users\\617500221\\Projects\\AI-Tools\\npm-advisor-mcp\\dist\\index.js" ], "disabled": false, "autoApprove": [ "search_packages", "compare_packages", "get_package_details", "recommend_package", "resolve_technical_doubt", "audit_package", "find_alternatives", "check_deprecation", "generate_install_command", "get_changelog" ] }
After saving, the server will appear in the Kiro MCP panel and reconnect automatically.
search_packagesSearch npm for packages matching a feature or keyword.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | Feature or keyword (e.g., "form validation", "state management") |
limit | number | No | Max results to return (default: 8, max: 15) |
Example prompt:
"Search for packages that handle PDF generation in Node.js"
Returns: Ranked list with description, weekly downloads, gzip size, quality/maintenance/popularity scores, and tree-shaking support.
compare_packagesCompare 2–5 packages side-by-side on all key metrics.
| Parameter | Type | Required | Description |
|---|---|---|---|
packages | string[] | Yes | Array of package names (2–5 items) |
Example prompt:
"Compare dayjs, date-fns, and moment for date manipulation"
Returns: Markdown table with version, gzip size, minified size, downloads/week, TypeScript support, tree-shaking, dependency count, maintenance score, quality score, last publish date, and license.
get_package_detailsDeep dive into a single package with full metadata.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name |
Example prompt:
"Get details about the zod package"
Returns: Version, description, quick stats table (downloads, sizes, deps, TS support, license, publish date), quality scores, dependency list, peer dependencies, links, keywords, and a README excerpt.
recommend_packageGet a weighted recommendation from a list of candidates. Scoring weights automatically adjust based on your target environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
packages | string[] | Yes | Array of package names to evaluate (2–10) |
max_size_kb | number | No | Max acceptable gzip size in KB — packages exceeding this get penalized |
require_typescript | boolean | No | If true, packages without TS types are penalized more |
use_case | string | No | browser, node, react, cli, or general — adjusts scoring weights |
Example prompt:
"Recommend a date library from dayjs, date-fns, moment, and luxon for a browser app — must be under 10KB gzipped"
Returns: Winner with rationale, runner-up alternatives, a detailed score breakdown table, and a license compatibility column.
general)| Criterion | Weight | What it measures |
|---|---|---|
| Bundle size (gzip) | 25% | Smaller is better; relative within comparison group |
| Weekly downloads | 20% | Community adoption (log-scaled) |
| Maintenance | 20% | npms.io maintenance score |
| TypeScript support | 15% | Built-in types (100) > @types (60) > none (20) |
| Dependency count | 10% | Fewer runtime deps = less risk |
| Freshness | 10% | More recently published = better |
| Criterion | browser | node | react | cli |
|---|---|---|---|---|
| Bundle size | 40% | 10% | 30% | 5% |
| Downloads | 15% | 20% | 20% | 20% |
| Maintenance | 15% | 25% | 15% | 30% |
| TypeScript | 15% | 15% | 20% | 10% |
| Dependencies | 10% | 20% | 10% | 20% |
| Freshness | 5% | 10% | 5% | 15% |
resolve_technical_doubtAnswer a specific technical question about a package.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name |
question | string | Yes | Your technical question |
Example prompts:
"Does dayjs support timezone conversion out of the box?"
"Is lodash tree-shakeable?"
"What are the peer dependencies of @angular/material?"
"Is chalk still actively maintained?"
Returns: Contextual answer pulling from metadata, bundle analysis, dependency tree, scores, and README content. Automatically detects question category (size, TypeScript, dependencies, maintenance, tree-shaking) and surfaces relevant data.
audit_packageCheck a package for known security vulnerabilities.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name to audit |
Example prompt:
"Are there any known vulnerabilities in lodash?"
Returns: Total vulnerability count, severity breakdown (critical/high/moderate/low), per-CVE details with affected version ranges, patch availability, advisory links, and a deprecation warning if applicable.
find_alternativesFind similar or competing packages as alternatives to a given one.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The package to find alternatives for |
limit | number | No | Max alternatives to return (default: 6, max: 10) |
Example prompts:
"Find alternatives to moment.js"
"What can I use instead of request?"
Returns: Ranked list of alternatives with descriptions, weekly downloads, bundle sizes, quality scores, and tree-shaking support. Flags if the original package is deprecated.
check_deprecationDetect if a package is deprecated, unmaintained, or potentially abandoned.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name to check |
Example prompts:
"Is request still maintained?"
"Is moment.js deprecated?"
Returns: npm deprecation flag, days since last publish, maintenance score, weekly downloads, and a clear verdict — actively maintained / moderately stale / potentially abandoned / officially deprecated.
generate_install_commandGenerate ready-to-paste install commands across all major package managers.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name |
include_peer_deps | boolean | No | Include peer dependencies (default: true) |
dev | boolean | No | Install as a dev dependency (default: false) |
Example prompts:
"Give me the install command for @tanstack/react-query"
"How do I install eslint as a dev dependency with pnpm?"
Returns: Install commands for npm, yarn, pnpm, and bun. Automatically appends peer dependencies and adds a separate @types/ install block if the package lacks built-in TypeScript types.
get_changelogFetch recent release notes for a package from its git repository. Supports GitHub, GitLab (cloud and self-hosted), and Bitbucket.
| Parameter | Type | Required | Description |
|---|---|---|---|
package_name | string | Yes | The npm package name |
limit | number | No | Number of recent releases to show (default: 5, max: 10) |
Example prompts:
"What changed in the last few versions of zod?"
"Show me the recent releases for vite"
"What's new in @ATLAS/info-panel?"
Returns: Release history with version tags, publish dates, and formatted release notes (truncated at 800 chars per release).
The tool reads the repository field from the package's package.json and auto-detects the host:
| Pattern in repository URL | Detected as | API used |
|---|---|---|
github.com/... | GitHub | GitHub Releases API |
gitlab.com/... | GitLab cloud | GitLab Releases API |
gitlab.yourcompany.com/... | Self-hosted GitLab | GitLab Releases API (same path, different base URL) |
git.yourcompany.com/... | Self-hosted GitLab | GitLab Releases API |
bitbucket.org/... | Bitbucket | Bitbucket Tags API |
| None of the above | — | Falls back to npm versions page link |
Note for private/internal packages: The tool reads the
repositoryfield from the package metadata fetched from your registry. If your internalpackage.jsondoesn't include arepositoryfield, or uses an SSH URL likegit@internal-git:atlas/info-panelwithout a recognisable hostname, the tool won't be able to
ตัดมาแค่ช่วงต้น อ่านต่อใน repo