Serveur MCP tty-table
Commit 13 oct. 2026Permet à un client IA de restituer des données sous forme de tableaux terminaux ASCII ou Unicode pour une utilisation dans les README et autres fichiers texte.
Aussi connu sous tecfu/tty-table
- Étoiles
- 311
- Outils
- 4
- Téléchargements, 30 jours
- —
- Dernière version
- —
- Dernier commit
- 13 oct. 2026
- Licence
- MIT
Qu'est-ce que tty-table MCP ?
tty-table est un serveur MCP. Permet à un client IA de restituer des données sous forme de tableaux terminaux ASCII ou Unicode pour une utilisation dans les README et autres fichiers texte. Il expose 4 outils, comme render_table, header, rows.
Résumé généré à partir du README du projet
À propos du MCP server tty-table
La conversion de données brutes en tableaux terminaux formatés en ASCII ou Unicode est la fonction principale de tty-table pour les clients IA. Les développeurs utilisant Claude, Cursor ou d'autres agents d'IDE peuvent connecter ce serveur via stdio en utilisant npx pour transformer des informations structurées en mises en page textuelles lisibles. Cela est particulièrement utile pour générer une documentation propre, des fichiers README ou des rapports adaptés au terminal directement depuis une conversation avec une IA.
L'outil render_table sert d'interface principale, permettant aux utilisateurs de transmettre des en-têtes, des lignes et des options de configuration spécifiques comme la largeur (width), le style de bordure (borderStyle), l'alignement (align) ou le mode compact (compact mode). Le serveur gère la logique de formatage complexe, y compris la mesure de la largeur Unicode et le retour à la ligne, pour garantir que les tableaux s'affichent correctement dans un environnement terminal. L'implémentation MCP nécessite Node.js 22 ou une version ultérieure pour fonctionner.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Outils MCP tty-table 4
Détectés depuis le READMErender_tableheaderrowsoptions
| render_table | — | |
| header | — | |
| rows | — | |
| options | — |
Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →Pas encore vérifié. Un serveur nécessite un score de 80, aucune faille sérieuse et suffisamment de données pour que nous puissions effectuer les vérifications. Fonctionnement des vérifications · Ce qu'il faut corriger pour gagner des points
- Dépôt source lié et accessibletecfu/tty-table is public and reachablegithub.com/tecfu/tty-table ↗Réussi
- Le nom du package correspond au dépôt sourceNon vérifié
- Provenance du build (attestation Sigstore)Non vérifié
- Licence open source (OSI)MITspdx.org/licenses/MIT.html ↗Réussi
- Commit ou version publiée au cours de l'année écouléeLast commit or release 2026-10-13github.com/tecfu/tty-table ↗Réussi
- OpenSSF ScorecardOpenSSF Scorecard 4.8 / 10; weakest: Code-Review 0, Pinned-Dependencies 0, CII-Best-Practices 0scorecard.dev/viewer/?uri=github.com/tecfu/tty-table ↗Partiel 7/15
- Nom du package non proche d'un package populaireNon vérifié
- Aucun avis critique dans le package ou ses dépendancesNon vérifié
- Aucune instruction cachée destinée au modèle4 tool descriptions and the README read; no override phrases, credential paths or hidden charactersRéussi
- Les outils destructifs sont étiquetésNo tool named like delete, drop or execRéussi
- Le point de terminaison distant répond à la poignée de main MCPNon vérifié
README
Voir sur GitHubtty-table
A TypeScript-first terminal table renderer with a compatibility-oriented factory API.
Examples
See here for complete example list
To view all example output:
$ git clone https://github.com/tecfu/tty-table && cd tty-table && npm i
$ npm run view-examples
Terminal (Static)
examples/styles-and-formatting.js

Terminal (Streaming)
$ node examples/data/fake-stream.js | tty-table --format json --header examples/config/header.js

- See the built-in help for the terminal version of tty-table with:
$ tty-table -h
MCP server
Expose tty-table to MCP clients (Claude, IDE agents, Cursor, etc.) over stdio.
Client configuration
{
"mcpServers": {
"tty-table": {
"command": "npx",
"args": ["-y", "--package=tty-table", "tty-table-mcp"]
}
}
}
Tools
| Tool | Description |
|---|---|
render_table |
Render data as an ASCII/Unicode terminal table. Accepts header, rows, and any tty-table options; returns the rendered table as text. |
Arguments for render_table:
| Name | Type | Required | Description |
|---|---|---|---|
header |
(string | {value, align?, width?})[] |
no | Column definitions |
rows |
(unknown[] | Record<string, unknown>)[] |
yes | Row data (arrays of cells, or objects keyed by column name) |
options |
object |
no | Any tty-table option (e.g. width, borderStyle, align, compact) |
Example tool call:
{
"header": [{ "value": "name" }, { "value": "score", "align": "right" }],
"rows": [["Ada", 100], ["Grace", 98]],
"options": { "width": 40 }
}
Rendered result:
┌───────┬───────┐
│ name │ score │
├───────┼───────┤
│ Ada │ 100 │
├───────┼───────┤
│ Grace │ 98 │
└───────┴───────┘
Additional tools may be added in future releases under the same MCP server.
Browser & Browser Console
The published package ships a standalone IIFE bundle that exposes a TtyTable global. Load it directly from a CDN — no install or build step required:
<script src="https://cdn.jsdelivr.net/npm/tty-table@7/dist/browser/tty-table.global.js"></script>
<script>
const Table = TtyTable.default
console.log(Table([{ value: "name" }, { value: "score" }], [["Ada", 100]], null).render())
</script>
- Try it online before installing: live example on JSFiddle
- View the full example locally in Chrome or Chromium by opening examples/browser-example.html (e.g. served with
npx serve .or any static file server). - source: examples/browser-example.html

Compatibility
Node.js
Current releases require Node.js 22 or newer. This is a breaking change from the Node 20 baseline used by early v6 releases (and from the v5 line, which supported older Node.js releases). The floor was raised to match smartwrap@4 / breakword@2.1.0. If your application must remain on Node 20, stay on a prior tty-table release until you can upgrade.
The published package provides both ESM and CommonJS entry points for Node.js. The CLI requires Node.js 22+ as well.
API
import Table from "tty-table"
const table = Table(
[{ value: "name" }, { value: "score", align: "right" }],
[
{ name: "Ada", score: 100 },
{ name: "Grace", score: 98 }
],
{ borderStyle: "solid" }
)
console.log(table.render())
Legacy Table(header, rows, footer, options) and Table(rows, options) construction remains supported.
Formatter context
New code can use the explicit context form:
const formatter = (value: unknown) => String(value).toUpperCase()
The compatibility callback signature is still accepted. New integrations should prefer a formatter that accepts the documented context object and avoid relying on dynamic this mutation.
Width semantics
Widths are measured in terminal display columns, not JavaScript string length. ANSI escape sequences are ignored for measurement; Unicode code points are counted using breakword.width() (Unicode 18.0.0 East Asian Width + UAX #51 Emoji_Presentation). Wrapping and truncation operate on the same display-width semantics.
Compared with older releases that used wcwidth, some symbols that were previously treated as 1 cell are now 2 cells (for example ⚡ U+26A1). Tables containing those characters may reflow slightly; measurement is now aligned with the same library used for wrapping.
Development
npm install
npm run typecheck
npm run build
npm test
npm run test:unit
npm run lint
Questions sur tty-table MCP
Quels outils tty-table MCP fournit-il ?
Il expose 4 outils, dont render_table, header, rows, options.
Comment puis-je utiliser tty-table avec Claude ou Cursor ?
Vous pouvez l'exposer à des clients MCP tels que Claude, des agents d'IDE ou Cursor via stdio en configurant les mcpServers dans la configuration de votre client.
Quels outils sont disponibles dans le MCP server ?
Le serveur fournit l'outil render_table, qui accepte des en-têtes, des lignes et diverses options tty-table pour retourner un tableau ASCII/Unicode formaté.
Quelle version de Node.js est requise ?
Les versions actuelles nécessitent Node.js 22 ou une version ultérieure.