satelia-mcp-starter
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@satelia-mcp-starterCompter les mots et caractères de 'Bonjour le monde'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
satelia-mcp-starter
Une base de depart propre et minimale pour creer votre propre serveur MCP en TypeScript.
C'est quoi ?
Un serveur MCP (Model Context Protocol) est un petit programme qui ajoute des "outils" a Claude. Une fois branche a Claude Desktop, vous pouvez demander a Claude d'utiliser ces outils pendant une conversation.
Ce depot contient deja :
un serveur fonctionnel, pret a lancer ;
UN outil d'exemple,
compter-mots, qui compte les mots et les caracteres d'un texte ;un emplacement clairement balise pour ajouter vos propres outils.
L'idee : vous clonez ce depot, vous lancez quelques commandes, et vous construisez vos outils par-dessus sans avoir a tout recreer.
Related MCP server: MCP Calculator Server
Prerequis
Node.js version 18 ou superieure. Pour verifier, ouvrez un terminal et tapez :
node --versionSi Node n'est pas installe, telechargez-le sur le site officiel : https://nodejs.org (choisissez la version "LTS").
Installation, etape par etape
Cloner le depot, puis entrer dans le dossier :
git clone <adresse-du-depot> cd satelia-mcp-starterInstaller les dependances (les librairies dont le projet a besoin) :
npm installConstruire le projet (transformer le code TypeScript en JavaScript executable) :
npm run buildSi tout se passe bien, un dossier
buildapparait. Il contient le fichierbuild/index.jsque Claude utilisera.
Connecter le serveur a Claude Desktop
Claude Desktop lit un fichier de configuration ou vous declarez vos serveurs MCP.
Recuperez le chemin ABSOLU vers
build/index.js. Depuis le dossier du projet :pwdCela affiche le chemin du dossier, par exemple
/Users/vous/satelia-mcp-starter. Le chemin complet vers le fichier sera donc/Users/vous/satelia-mcp-starter/build/index.js.Ouvrez le fichier de configuration de Claude Desktop :
macOS :
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows :
%APPDATA%\Claude\claude_desktop_config.json
Ajoutez votre serveur dans la section
mcpServers(remplacez le chemin par le votre) :{ "mcpServers": { "satelia-mcp-starter": { "command": "node", "args": ["/Users/vous/satelia-mcp-starter/build/index.js"] } } }Fermez puis rouvrez Claude Desktop. Votre outil
compter-motsdoit maintenant etre disponible. Essayez de demander a Claude : "Combien de mots dans cette phrase ?"
Note : a chaque fois que vous modifiez le code, relancez npm run build, puis redemarrez Claude Desktop pour qu'il prenne en compte la nouvelle version.
Ajouter votre propre outil
Tout se passe dans le fichier src/index.ts. Cherchez le bloc bien visible :
// ====== AJOUTEZ VOTRE OUTIL ICI ======En 4 etapes simples :
Copiez l'exemple commente situe juste sous ce bloc (l'outil
saluer).Retirez les
//en debut de ligne pour activer le code.Adaptez : le nom de l'outil, sa description, ses champs d'entree (
inputSchema) et ce que renvoie le handler.Lancez
npm run buildpour verifier que tout compile, puis redemarrez Claude Desktop.
Conseil : decrivez chaque champ avec .describe("...") en francais. Plus la description est claire, mieux Claude saura quand et comment utiliser votre outil.
Tester sans rebuild
Pendant que vous developpez, vous pouvez lancer le serveur directement depuis le code source, sans passer par npm run build :
npm run devLe serveur demarre et affiche un message de confirmation. C'est pratique pour verifier rapidement qu'il n'y a pas d'erreur. Pour l'arreter, appuyez sur Ctrl + C.
Tester visuellement avec l'inspecteur
Pour voir vos outils et les essayer dans une petite interface, sans passer par Claude Desktop :
npm run build
npx @modelcontextprotocol/inspector node build/index.jsUne page s'ouvre dans le navigateur : vous y voyez la liste de vos outils et pouvez les appeler a la main pour verifier leur resultat.
Commandes utiles
npm run build: compile le projet dans le dossierbuild.npm run start: lance la version compilee (build/index.js).npm run dev: lance directement le code source, ideal pour tester pendant le developpement.
Licence
MIT. Voir le fichier LICENSE.
Available Tools
1 toolcompter-motsCompter les motsA
Compte le nombre de mots et de caracteres d'un texte fourni. Utile pour mesurer la longueur d'un message, d'un resume ou d'un paragraphe.
| Name | Required | Description | Default |
|---|---|---|---|
| texte | Yes | Le texte a analyser (le contenu dont on veut compter les mots et les caracteres). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool counts words and characters, implying a non-destructive read operation. However, it does not disclose the return format or whether it counts spaces/punctuation. Without annotations, the description could provide more behavioral detail, such as that the tool does not modify any data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the primary action and then providing context. Every sentence is informative and no extraneous words are present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, no output schema, and no siblings, the description covers the core functionality and use case. It could improve by mentioning the output structure, but overall it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (one parameter fully described). The description's parameter elaboration ('Le texte a analyser...') adds no new information beyond the schema's definition, meeting the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool counts words and characters of a provided text, with specific verb 'compte' and resource 'mots et caracteres'. It also gives example use cases (message, summary, paragraph) to clarify purpose. No sibling tools exist, so differentiation is not needed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use the tool: for measuring length of a message, summary, or paragraph. However, it does not mention when not to use it or any alternatives, but given the simplicity and absence of siblings, the guidance is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
compter-mots
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion between tools. The single tool has a clear, unique purpose.
The single tool follows a verb_noun pattern ('compter-mots'), which is consistent and descriptive. No other tools to create inconsistency.
A server with only one tool feels too minimal for a general 'starter' server. While the tool itself is useful, the server would benefit from additional related tools to justify its existence.
The tool fully covers its stated purpose of counting words and characters. However, it lacks other text analysis features (e.g., sentence count, reading time) that might be expected in a text utility server.
Maintenance
Related MCP Connectors
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Related MCP Servers
- AlicenseBqualityDmaintenanceA simple TypeScript MCP server that provides two tools: one for greeting users with a customizable name and another for adding two numbers together.26 npmMIT
- AlicenseNot gradedqualityDmaintenanceA lightweight TypeScript-based MCP server that demonstrates how to build custom MCP tools by implementing a simple addition calculator. Serves as a starting point for building MCP-compatible tools.887 npmMIT
- AlicenseBqualityDmaintenanceA TypeScript starter template for building MCP servers with example tools (echo, math operations, time, flight status) and resources (server info, greetings). Provides a modular architecture for easily extending with custom tools and resources.46 npmISC
- AlicenseAqualityBmaintenanceA minimal TypeScript MCP server that provides echo and text_stats tools for text validation and word/character counting over stdio.2MIT