Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for ASAM ODS with Jaquel query tools, connection management, and data access
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"odsbox-jaquel": {
"command": "uvx",
"args": [
"odsbox-jaquel-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add odsbox-jaquel -- uvx odsbox-jaquel-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"odsbox-jaquel": {
"command": "uvx",
"args": [
"odsbox-jaquel-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"odsbox-jaquel": {
"type": "stdio",
"command": "uvx",
"args": [
"odsbox-jaquel-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub totonga ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.8.3) เข้า registry 2 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Thalovant 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.
Connect MCP clients to Thalovant control-plane and hub runtime APIs over stdio or Streamable HTTP.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
A Model Context Protocol (MCP) server for ASAM ODS with odsbox Jaquel query tools, ODS connection management, and measurement data access.
help_bulk_api toolPROMPTS.md for starting prompts documentationTOOLS_GUIDE.mdCHANGELOG.mdThe easiest way to use this MCP server is with uvx:
uvx odsbox-jaquel-mcp@latest
This automatically installs and runs the server without managing virtual environments.
For a persistent installation:
uv tool install odsbox-jaquel-mcp
odsbox-jaquel-mcp
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install odsbox-jaquel-mcp[play]
Note: The
[play]extra includes optional data analysis and visualization dependencies (pandas, matplotlib, scipy) for working with Jupyter notebooks and data analysis.
The server runs on stdin/stdout and waits for MCP messages from an MCP client:
# With uvx (auto-installs and runs)
uvx odsbox-jaquel-mcp@latest
odsbox-jaquel-mcp
uv run python -m odsbox_jaquel_mcp
Add to your MCP client configuration (e.g., Claude Desktop, VS Code):
{
"mcpServers": { "ods-mcp": { "type": "stdio", "command": "uvx", "args": ["odsbox-jaquel-mcp@latest"] } } }
Or with uv tool:
{
"mcpServers": { "ods-mcp": { "type": "stdio", "command": "odsbox-jaquel-mcp" } } }
| Variable | Default | Description |
|---|---|---|
ODSBOX_STATS_ENABLED | not set (disabled) | Set to 1, true, or yes to enable tool and resource call monitoring. Statistics are persisted to a SQLite database (odsbox-jaquel-mcp-stats.db) for cross-session tracking. |
FASTMCP_LOG_LEVEL | INFO | Controls the server-side log level (DEBUG, INFO, WARNING, ERROR, CRITICAL). With stdio transport all logs go to stderr, which MCP clients may display as warnings. Set to WARNING to reduce noise. |
ODSBOX_MCP_MODE | basic | Authentication mode for ods_connect_using_env: basic, m2m, or oidc |
ODSBOX_MCP_URL | not set | ODS server URL for ods_connect_using_env |
ODSBOX_MCP_USER | not set | ODS username (basic mode) |
ODSBOX_MCP_PASSWORD | not set | ODS password (basic mode; falls back to keyring, checking ods-pilot first) |
ODSBOX_MCP_M2M_TOKEN_ENDPOINT | not set | OAuth2 token endpoint (m2m mode) |
ODSBOX_MCP_M2M_CLIENT_ID | not set | Client ID (m2m mode) |
ODSBOX_MCP_M2M_CLIENT_SECRET | not set | Client secret (m2m mode; falls back to keyring, checking ods-pilot first) |
ODSBOX_MCP_OIDC_CLIENT_ID | not set | Client ID (oidc mode) |
ODSBOX_MCP_OIDC_REDIRECT_URI | not set | Redirect URI (oidc mode, e.g. http://127.0.0.1:1234) |
ODSBOX_MCP_VERIFY | true | TLS certificate verification (true/false) |
See TOOLS_GUIDE.md for the full list of authentication variables and keyring fallback details.
Secrets are looked up in the ods-pilot keyring service first using :: records, then in the legacy direct service lookup if no entry is found.
When ODSBOX_STATS_ENABLED=true is set, the server records tool call and resource read statistics to a local SQLite database:
~/.local/share/odsbox-jaquel-mcp/odsbox-jaquel-mcp-stats.db (Linux/macOS) or %APPDATA%\odsbox-jaquel-mcp\odsbox-jaquel-mcp-stats.db (Windows), with fallback to the system temp directory.You can query the stats database directly:
sqlite3 ~/.local/share/odsbox-jaquel-mcp/odsbox-jaquel-mcp-stats.db \
"SELECT name, calls, errors, total_ms FROM tool_stats ORDER BY calls DESC"
Example MCP client configuration with monitoring enabled:
{
"mcpServers": { "ods-mcp": { "type": "stdio", "command": "uvx", "args": ["odsbox-jaquel-mcp@latest"], "env": { "ODSBOX_STATS_ENABLED": "true", "FASTMCP_LOG_LEVEL": "WARNING" } } } }
git clone https://github.com/totonga/odsbox-jaquel-mcp.git
cd odsbox-jaquel-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv sync --all-extras --group dev
# Run server locally
uv run python -m odsbox_jaquel_mcp
uv run pytest tests/
python run_tests.py
ruff check . ruff format .
uv build
npx @modelcontextprotocol/inspector uvx odsbox-jaquel-mcp@latest
Pull requests and issues are welcome! Please:
This project is licensed under the Apache License 2.0. See LICENSE.
Discover and use the server's capabilities through interactive guided prompts:
See PROMPTS.md for complete details on all starting prompts.
{
"error": "Model not loaded", "hint": "Connect to ODS server using 'ods_connect' tool first" }
Solution: Call ods_connect first
{
"error": "Entity not found: InvalidEntity", "available_entities": ["AoUnit", "AoMeasurement", ...] }
Solution: Use valid entity from available_entities
{
"valid": false, "issues": ["Field 'invalid_field' not found"], "suggestions": ["id", "name", "description"] }
Solution: Use one of the suggested fields
{
"success": false, "error": "Connection refused", "error_type": "ConnectionError" }
Solution: Check URL, server availability, firewall
$rowlimit appropriatelyverify_certificate: true for production{width=300px}
Try with example server configuration using all three authentication modes via different env prefixes:
{
"servers": { "ods": { "type": "stdio", "command": "uvx", "args": [ "odsbox-jaquel-mcp@latest" ], "env": { "ODSBOX_MCP_URL": "https://docker.peak-solution.de:10032/api", "ODSBOX_MCP_USER": "Demo", "ODSBOX_MCP_PASSWORD": "mdm", "ODSBOX_MCP2_MODE": "m2m", "ODSBOX_MCP2_URL": "https://ods.example.com/api", "ODSBOX_MCP2_M2M_TOKEN_ENDPOINT": "https://auth.example.com/realms/myrealm/protocol/openid-connect/token", "ODSBOX_MCP2_M2M_CLIENT_ID": "my-service-client", "ODSBOX_MCP3_MODE": "oidc", "ODSBOX_MCP3_URL": "https://ods.example.com/api", "ODSBOX_MCP3_OIDC_CLIENT_ID": "my-oidc-client", "ODSBOX_MCP3_OIDC_REDIRECT_URI": "http://127.0.0.1:1234" } } }, "inputs": [] }
For issues or questions: