Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Kibana MCP Server with dynamic API discovery and comprehensive Elastic Stack integration
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
KIBANA_URL, KIBANA_API_KEY, KIBANA_USERNAME, KIBANA_PASSWORDค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
],
"env": {
"KIBANA_URL": "ใส่ค่าของคุณ",
"KIBANA_API_KEY": "ใส่ค่าของคุณ",
"KIBANA_USERNAME": "ใส่ค่าของคุณ",
"KIBANA_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add kibana --env KIBANA_URL='ใส่ค่าของคุณ' --env KIBANA_API_KEY='ใส่ค่าของคุณ' --env KIBANA_USERNAME='ใส่ค่าของคุณ' --env KIBANA_PASSWORD='ใส่ค่าของคุณ' -- npx -y @tocharianou/mcp-server-kibanaเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"kibana": {
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
],
"env": {
"KIBANA_URL": "ใส่ค่าของคุณ",
"KIBANA_API_KEY": "ใส่ค่าของคุณ",
"KIBANA_USERNAME": "ใส่ค่าของคุณ",
"KIBANA_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"kibana": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tocharianou/mcp-server-kibana"
],
"env": {
"KIBANA_URL": "ใส่ค่าของคุณ",
"KIBANA_API_KEY": "ใส่ค่าของคุณ",
"KIBANA_USERNAME": "ใส่ค่าของคุณ",
"KIBANA_PASSWORD": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
KIBANA_USERNAME envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub TocharianOU ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: KIBANA_URL, KIBANA_API_KEY, KIBANA_PASSWORD
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.11.1) เข้า registry 29 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Aiterm MCP
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว 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.
Persistent terminals and one launcher for Claude, Codex, Grok, Cursor, and Antigravity harnesses.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Kibana MCP server implementation that allows any MCP-compatible client (such as Claude Desktop) to access your Kibana instance via natural language or programmatic requests.
This project is based on the official Elastic Kibana API documentation and uses the OpenAPI YAML specification from Elastic Stack 8.x. For details, see the Kibana API documentation.
This project is community-maintained and is not an official product of Elastic or MCP.
💡 Companion Project: For complete Elastic Stack integration, pair this with Elasticsearch MCP Server for direct Elasticsearch data operations.
# Global installation (recommended)
npm install -g @tocharianou/mcp-server-kibana
npx @tocharianou/mcp-server-kibana
git clone https://github.com/TocharianOU/mcp-server-kibana.git
cd mcp-server-kibana npm install && npm run build
Add to your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": { "kibana": { "command": "npx", "args": ["@tocharianou/mcp-server-kibana"], "env": { "KIBANA_URL": "http://your-kibana-server:5601", "KIBANA_API_KEY": "your-api-key", "KIBANA_DEFAULT_SPACE": "default" } } } }
# Using API Key (recommended)
KIBANA_URL=http://localhost:5601 \ KIBANA_API_KEY=your-api-key \ npx @tocharianou/mcp-server-kibana
KIBANA_URL=http://localhost:5601 \ KIBANA_USERNAME=your-username \ KIBANA_PASSWORD=your-password \ npx @tocharianou/mcp-server-kibana
KIBANA_URL=http://localhost:5601 \ KIBANA_COOKIES="sid=xxx; security-session=yyy" \ npx @tocharianou/mcp-server-kibana
MCP_TRANSPORT=http \
MCP_HTTP_PORT=3000 \ KIBANA_URL=http://localhost:5601 \ KIBANA_API_KEY=your-api-key \ npx @tocharianou/mcp-server-kibana
Access at: http://localhost:3000/mcp Health check: http://localhost:3000/health
Securing HTTP mode. Every session on /mcp acts with the Kibana credentials the server was started with, so treat the endpoint as sensitive:
localhost only and rejects requests whose Host header is not a loopback name (DNS rebinding protection).MCP_BEARER_TOKEN. Clients must then send Authorization: Bearer on every /mcp request. /health stays open.MCP_HTTP_HOST=0.0.0.0) without MCP_BEARER_TOKEN logs a warning at startup: anyone who can reach the port can use your Kibana credentials.Host header to a localhost-bound server, list that hostname in MCP_ALLOWED_HOSTS.MCP_TRANSPORT=http \
MCP_HTTP_HOST=0.0.0.0 \ MCP_BEARER_TOKEN="$(openssl rand -hex 32)" \ KIBANA_URL=http://localhost:5601 \ KIBANA_API_KEY=your-api-key \ npx @tocharianou/mcp-server-kibana
| Variable | Description | Example |
|---|---|---|
KIBANA_URL | Kibana server address | http://localhost:5601 |
| Variable | Description | Priority |
|---|---|---|
KIBANA_API_KEY | API Key (base64 encoded) | 1st |
KIBANA_USERNAME + KIBANA_PASSWORD | Basic authentication | 2nd |
KIBANA_COOKIES | Session cookies | 3rd |
| Variable | Description | Default |
|---|---|---|
KIBANA_DEFAULT_SPACE | Default Kibana space | default |
KIBANA_CA_CERT | CA certificate path | - |
KIBANA_TIMEOUT | Request timeout (ms) | 60000 |
MCP_TRANSPORT | Transport mode | stdio |
MCP_HTTP_PORT | HTTP server port | 3000 |
MCP_HTTP_HOST | HTTP server host | localhost |
MCP_BEARER_TOKEN | HTTP mode: require Authorization: Bearer on /mcp | - |
MCP_ALLOWED_HOSTS | HTTP mode: extra hostnames accepted in the Host header (comma-separated) | - |
NODE_TLS_REJECT_UNAUTHORIZED | Disable SSL validation | 1 |
get_status - Get Kibana server statusexecute_kb_api - Execute custom Kibana API requestssearch_elasticsearch - Search Elasticsearch documents and logs through Kibana's search API, within the user's Elasticsearch index privilegesget_available_spaces - List available Kibana spacessearch_kibana_api_paths - Search API endpointslist_all_kibana_api_paths - List all API endpointsget_kibana_api_detail - Get API endpoint detailsvl_search_saved_objects - Search saved objects (universal)vl_get_saved_object - Get single saved objectvl_create_saved_object - Create new saved objectvl_update_saved_object - Update single saved objectvl_bulk_update_saved_objects - Bulk update operationsvl_bulk_delete_saved_objects - Bulk delete operationsSupported Object Types: dashboard, visualization, index-pattern, search, config, lens, map, tag, canvas-workpad, canvas-element
analyze_object_dependencies - Analyze saved object dependenciesanalyze_deletion_impact - Check impact before deletioncheck_dashboard_health - Dashboard health checkscan_all_dashboards_health - Batch health scanningUse search_elasticsearch when you need to search documents, application logs, traces, or aggregations in Elasticsearch. It sends Query DSL through Kibana's /internal/search/es route instead of the Dev Tools Console proxy.
The tool is read-only and does not widen data access: Elasticsearch enforces the configured user's index privileges on every search, exactly as it does for Discover and dashboards. Indices the user cannot read return no results.
It exists because the Dev Tools Console proxy (/api/console/proxy) is gated by a separate Kibana privilege, since the Console can call any Elasticsearch API including write and admin endpoints. A user who can read the target indices but has no Dev Tools privilege gets 403 from the Console proxy; this tool gives that user search, and nothing more. If your Kibana administrators rely on withholding Dev Tools to block ad-hoc queries from an account, be aware that this tool allows Query DSL searches for it.
Example tool arguments for a bounded log search:
{
"index": "application-logs-*", "body": { "size": 20, "_source": [ "@timestamp", "message", "trace.id", "service.name" ], "sort": [ { "@timestamp": "desc" } ], "query": { "bool": { "filter": [ { "range": { "@timestamp": { "gte": "2025-01-15T10:00:00Z", "lt": "2025-01-15T11:00:00Z" } } }, { "term": { "service.name.keyword": "example-service" } } ] } } } }
For high-volume logs, start with a small time window and a small size. After finding a trace or correlation id, use that value in a second narrow search instead of repeatedly scanning a broad time range. Use _source to keep only fields needed for the current investigation.
The tool rejects wildcard-only index segments such as *, **, or _all (including inside comma-separated index expressions), an empty search body, and body.size above 100. String size values are coerced and validated as numbers. The endpoint is an internal Kibana API, so compatibility should be verified after major Kibana upgrades.
| Resource URI | Description |
|---|---|
kibana-api://paths | List all available API endpoints |
kibana-api://paths?search= | Search endpoints by keyword |
kibana-api://path/{method}/{encoded_path} | Get specific endpoint details |
NODE_TLS_REJECT_UNAUTHORIZED=0 (use with caution)search_elasticsearch. The Console proxy can require the Kibana Dev Tools privilege even when the user has permission to read the target indices.Use MCP Inspector for debugging:
npm run inspector
This provides a browser-accessible debugging interface.
This project is community-maintained. Contributions and feedback are welcome!
Please follow the Elastic Community Code of Conduct in all communications.
Apache License 2.0 - See LICENSE file for details.
ตัดมาแค่ช่วงต้น อ่านต่อใน repo