Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Grafana dashboards, datasources, Prometheus, Loki, and alerts from your MCP client.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"dashmetrics": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dashmetrics",
"mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add dashmetrics -- npx -y @reneturcios/dashmetrics mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dashmetrics": {
"command": "npx",
"args": [
"-y",
"@reneturcios/dashmetrics",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dashmetrics": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reneturcios/dashmetrics",
"mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub CloudCorpRecords ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry 4 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js, Docker ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Safe Fetch
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
MCP server for fetching URLs, safe against SSRF, DNS rebinding, and redirect-to-internal attacks.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
dashmetrics gives an MCP client or a terminal read access to a Grafana instance: dashboard search and retrieval, datasource inspection, Prometheus range queries with metric and label discovery, Loki log queries with label discovery, and the provisioned alert rules and contact points. It is a clean-room rebuild of the documented core of Grafana's MCP tool surface, built from Grafana's public HTTP API documentation.
Point it at an instance with GRAFANA_URL (default http://localhost:3000) and authenticate with a service account token in GRAFANA_SERVICE_ACCOUNT_TOKEN, sent as a Bearer token. The legacy GRAFANA_API_KEY variable is accepted as a fallback when the primary variable is unset. When no token is set, every call fails with an error that names GRAFANA_SERVICE_ACCOUNT_TOKEN; when the instance is unreachable, the error names the base URL it tried.
npx @reneturcios/dashmetrics list_datasources
Or run the container image:
docker run -i -e GRAFANA_URL -e GRAFANA_SERVICE_ACCOUNT_TOKEN ghcr.io/cloudcorprecords/dashmetrics
The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.
Every MCP tool is also a CLI subcommand. Tool arguments are passed as one JSON object with --json:
export GRAFANA_URL=http://localhost:3000
export GRAFANA_SERVICE_ACCOUNT_TOKEN=
dashmetrics search_dashboards --json '{"query": "api", "limit": 5}' dashmetrics get_dashboard_by_uid --json '{"uid": "dash-1"}' dashmetrics list_datasources dashmetrics query_prometheus --json '{"datasourceUid": "prom1", "expr": "up", "start": "now-1h", "end": "now", "step": "15s"}' dashmetrics query_loki_logs --json '{"datasourceUid": "loki1", "query": "{job=\"api\"}"}' dashmetrics list_alert_rules
dashmetrics --version
Results print as JSON. Exit codes: 0 on success, 1 when an API call fails (including a missing token), 2 for usage errors.
One bin serves both faces. The mcp subcommand starts a stdio MCP server:
npx -y @reneturcios/dashmetrics mcp
MCP client configuration:
{
"mcpServers": { "dashmetrics": { "command": "npx", "args": ["-y", "@reneturcios/dashmetrics", "mcp"], "env": { "GRAFANA_URL": "http://localhost:3000", "GRAFANA_SERVICE_ACCOUNT_TOKEN": "your Grafana service account token" } } } }
| Tool | Input (required in bold) | What it does |
|---|---|---|
search_dashboards | query, limit, type | Searches dashboards/folders (/api/search). |
get_dashboard_by_uid | `uid` | Returns one dashboard by uid. |
list_datasources | — | Lists configured datasources. |
get_datasource_by_uid | `uid` | Returns one datasource by uid. |
query_prometheus | `datasourceUid`, `expr`, start, end, step | Prometheus range query via the datasource proxy. |
list_prometheus_metric_names | `datasourceUid`, regex | Lists metric names, regex-filtered. |
list_prometheus_label_names | `datasourceUid`, metric | Lists label names. |
list_prometheus_label_values | `datasourceUid`, `label`, metric | Lists one label's values. |
query_loki_logs | `datasourceUid`, `query`, start, end, limit | Loki LogQL range query via the proxy. |
list_loki_label_names | `datasourceUid` | Lists Loki label names. |
list_loki_label_values | `datasourceUid`, `label` | Lists one Loki label's values. |
list_alert_rules | limit | Lists provisioned alert rules. |
get_alert_rule_by_uid | `uid` | Returns one provisioned alert rule. |
list_contact_points | limit | Lists provisioned contact points. |
Prometheus and Loki calls go through Grafana's documented datasource proxy paths (/api/datasources/proxy/uid/{uid}/...). Out of scope: incident creation/update, on-call schedules, Sift/Asserts, and admin/user management — see BUILD-REPORT.md.
npm install
npm run build # tsc -> dist/ npm test # node test runner over test/*.test.ts, no network (fake fetch fixtures) npm run dev # run the CLI from source via tsx
MIT — see LICENSE.