Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Quipu API integration with 18 MCP tools for invoices, expenses, contacts and Spanish VAT reporting
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
QUIPU_CLIENT_ID, QUIPU_CLIENT_SECRET, QUIPU_OWNER_SLUGค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"quipu": {
"command": "npx",
"args": [
"-y",
"@nubiia/mcp-quipu"
],
"env": {
"QUIPU_CLIENT_ID": "ใส่ค่าของคุณ",
"QUIPU_CLIENT_SECRET": "ใส่ค่าของคุณ",
"QUIPU_OWNER_SLUG": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add quipu --env QUIPU_CLIENT_ID='ใส่ค่าของคุณ' --env QUIPU_CLIENT_SECRET='ใส่ค่าของคุณ' --env QUIPU_OWNER_SLUG='ใส่ค่าของคุณ' -- npx -y @nubiia/mcp-quipuเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"quipu": {
"command": "npx",
"args": [
"-y",
"@nubiia/mcp-quipu"
],
"env": {
"QUIPU_CLIENT_ID": "ใส่ค่าของคุณ",
"QUIPU_CLIENT_SECRET": "ใส่ค่าของคุณ",
"QUIPU_OWNER_SLUG": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"quipu": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@nubiia/mcp-quipu"
],
"env": {
"QUIPU_CLIENT_ID": "ใส่ค่าของคุณ",
"QUIPU_CLIENT_SECRET": "ใส่ค่าของคุณ",
"QUIPU_OWNER_SLUG": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub nubiia-dev ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: QUIPU_CLIENT_ID, QUIPU_CLIENT_SECRET, QUIPU_OWNER_SLUG
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.2) เข้า registry 16 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, MCP Server Autocad Lisp Helper
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.
High-precision static analysis and debug server for AutoCAD AutoLISP (.lsp) files.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Servidor MCP para la API de Quipu: facturación, gastos, contactos y contabilidad para autónomos y pequeñas empresas en España.
Permite que un asistente como Claude consulte y opere tu cuenta de Quipu en lenguaje natural: *«¿cuánto he facturado este trimestre?»*, *«créame la factura de septiembre para este cliente»*, *«dame el PDF de la última factura»*.
Construido por Nubiia. Hermano de mcp-holded.
Estado: estable (v1.0.0). 18 herramientas sobre contactos, facturas, gastos y agregación fiscal. El resto de recursos de la API está mapeado en
docs/api-map.mdpero aún no expuesto.
npm install -g @nubiia/mcp-quipu
Necesitas credenciales de API de Quipu (Configuración → API) y el *slug* de tu cuenta, que es el primer segmento de tus URLs de Quipu: https://getquipu.com/ /…
{
"mcpServers": { "quipu": { "command": "npx", "args": ["-y", "@nubiia/mcp-quipu"], "env": { "QUIPU_CLIENT_ID": "tu_client_id", "QUIPU_CLIENT_SECRET": "tu_client_secret", "QUIPU_OWNER_SLUG": "tu_slug" } } } }
| Herramienta | Descripción |
|---|---|
list_contacts | Lista contactos, con filtro por nombre y paginación |
get_contact | Detalle de un contacto |
create_contact | Crea un contacto (requiere name; el NIF/CIF es obligatorio para facturarle) |
update_contact | Actualiza solo los campos indicados |
delete_contact | Elimina un contacto |
| Herramienta | Descripción |
|---|---|
list_invoices | Lista facturas emitidas, acotables por periodo |
get_invoice | Detalle de una factura |
create_invoice | Emite una factura con sus líneas, IVA e IRPF |
update_invoice | Actualiza una factura |
delete_invoice | Elimina una factura |
get_invoice_download_url | URL temporal para descargar el PDF |
| Herramienta | Descripción |
|---|---|
list_additional_incomes | Lista gastos e ingresos, acotables por periodo |
get_additional_income | Detalle de una entrada |
create_additional_income | Registra una factura de proveedor o gasto deducible |
update_additional_income | Actualiza una entrada |
delete_additional_income | Elimina una entrada |
get_additional_income_download_url | URL temporal del PDF |
| Herramienta | Descripción |
|---|---|
get_tax_summary | IVA repercutido, soportado, saldo y retenciones de un trimestre o rango |
OAuth2, no API key. A diferencia de Holded, Quipu emite tokens que caducan. El cliente los cachea en memoria, los renueva con un margen de 60 segundos y comparte una sola petición entre llamadas concurrentes. Ante un 401 invalida el token y reintenta.
JSON:API aplanado. Quipu devuelve { data: { id, attributes: {…} } }. Las herramientas aplanan la respuesta a { id, …attributes }, porque los modelos razonan mucho mejor sobre objetos planos y se ahorran tokens de envoltorio.
Las escrituras van más limitadas que las lecturas. Una factura creada por error no es una fila en una base de datos: es un documento con efectos legales. Las operaciones de escritura tienen cupos más estrictos y las destructivas están anotadas con destructiveHint.
La aritmética fiscal se hace en código, no en el modelo. Quipu no expone ningún endpoint de modelos fiscales (130, 303, 111), así que las cifras hay que derivarlas de facturas y gastos. get_tax_summary recorre todas las páginas de ambos recursos, suma con redondeo a céntimos y devuelve el saldo ya calculado. Pedirle a un modelo que sume una lista larga de importes token a token es una forma fiable de obtener una cifra fiscal equivocada.
Los importes vienen como texto y con nombres poco obvios. El importe base es total_amount_without_taxes y el impuesto es vat_amount — no existen total ni subtotal. El sumador acepta coma decimal, ignora vacíos y, ante un valor no parseable, lo excluye y avisa en la respuesta en lugar de propagar un NaN silencioso.
Sobre eliminar facturas. La normativa española exige rectificar mediante factura rectificativa, no borrando una factura ya numerada. delete_invoice existe porque la API lo permite, pero la descripción de la herramienta advierte de ello para que el modelo no lo proponga a la ligera.
npm install
npm run build npm test npm run lint
simplified_invoices — tickets y facturas simplificadas (7 ops)paysheets — nóminas (5 ops)numbering_series, accounting_categories, accounting_subcategoriesattachments y book_entriesowner_slug vía GET /users/{id}MIT