Skip to main content
Glama
goodfel10w

welcome-text-generator

by goodfel10w

Welcome Text Generator MCP Server

Ein Model Context Protocol (MCP) Server zur automatischen Generierung professioneller Willkommenstexte für neue Mitarbeiter. Extrahiert strukturierte Daten aus Freitext-Informationen und erstellt modulare, anpassbare Onboarding-Texte.

Features

📝 Text-Analyse: Verarbeitet Freitext-Informationen über Mitarbeiter 🎯 Modulares Template-System: 5 flexible Module mit verschiedenen Varianten 💾 Datenspeicherung: Speichert extrahierte Daten zur späteren Verwendung 🔄 Übersichtsverwaltung: Listet alle gespeicherten Mitarbeiterdaten auf

Related MCP server: HRizzle-HR-Assist

Installation

Voraussetzungen

  • Node.js (v18 oder höher)

  • Claude Desktop App

Schritt 1: Installation via NPM

npm install -g welcome-text-generator-mcp

Oder für lokale Entwicklung:

git clone https://github.com/goodfel10w/WelcomeTextGenerator.git
cd WelcomeTextGenerator
npm install
npm run build

Schritt 2: Claude Desktop Konfiguration

Öffne die Claude Desktop Konfigurationsdatei:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

Füge den MCP Server hinzu:

{
  "mcpServers": {
    "welcome-text-generator": {
      "command": "node",
      "args": [
        "C:\\Pfad\\zum\\Projekt\\dist\\index.js"
      ],
      "env": {}
    }
  }
}

Bei globaler Installation via NPM:

{
  "mcpServers": {
    "welcome-text-generator": {
      "command": "npx",
      "args": ["welcome-text-generator-mcp"],
      "env": {}
    }
  }
}

Schritt 3: Claude Desktop neu starten

Starte die Claude Desktop App neu, damit der MCP Server geladen wird.

Verfügbare Tools

1. extract_from_text

Extrahiert strukturierte Daten aus Freitext.

Parameter:

  • text (string): Freitext mit Informationen über den Mitarbeiter

Beispiel:

{
  "text": "Max Mustermann - Senior Developer mit 5 Jahren Erfahrung. Skills: JavaScript, TypeScript, React..."
}

2. generate_modular_welcome_text

Generiert einen modularen Willkommenstext nach dem Template-System.

Parameter:

  • data (object): Extrahierte Mitarbeiterdaten

    • name (string, required)

    • position (string, optional)

    • previousCompany (string, optional)

    • skills (array, required)

    • experience (string, optional)

    • achievements (array, required)

    • interests (array, required)

  • moduleOptions (object, optional):

    • includeCompetencies (boolean, default: true): Modul 2 einbinden

    • includeFunFact (boolean, default: false): Modul 3 einbinden

    • includeExperience (boolean, default: true): Modul 4 einbinden

    • introductionVariant (string, default: "variant1"): "variant1", "variant2" oder "variant3"

    • closingVariant (string, default: "variant1"): "variant1", "variant2" oder "variant3"

3. list_extracted_data

Listet alle gespeicherten Mitarbeiterdaten auf.

Keine Parameter erforderlich

Modul-System

Der generierte Text besteht aus 5 Modulen:

Modul 1: Begrüßung & Einleitung (Pflicht)

3 Varianten verfügbar:

  • Variant 1: "Welcome to [NAME]! Mit einem frischen Blick..."

  • Variant 2: "Wir freuen uns riesig, [NAME] bei uns begrüßen zu dürfen!..."

  • Variant 3: "Ein herzliches Willkommen an [NAME]!..."

Modul 2: Kompetenzen & Stärken (Optional)

Beschreibt die Fachkenntnisse und Leidenschaft des Mitarbeiters.

Modul 3: Fun Fact (Optional)

Persönliche, interessante Information über den Mitarbeiter.

Modul 4: Beruflicher Werdegang (Optional)

Informationen zur bisherigen Karriere und Erfolgen.

Modul 5: Abschluss & Willkommensgruß (Pflicht)

3 Varianten verfügbar:

  • Variant 1: "Herzlich willkommen im Team, [NAME]!..."

  • Variant 2: "Wir freuen uns sehr, dich an Bord zu haben, [NAME]!..."

  • Variant 3: "Schön, dass du jetzt Teil unseres Teams bist, [NAME]!..."

Verwendungsbeispiel

Im Claude Chat:

Ich: Hier sind die Informationen über unseren neuen Mitarbeiter:
Max Mustermann - Senior Developer mit 5 Jahren Erfahrung in JavaScript, TypeScript und React.
Hat zuvor bei TechCorp gearbeitet und mehrere erfolgreiche Projekte geleitet.
Begeisterter Marathonläufer.

Claude: Ich extrahiere die Daten aus dem Text...
[verwendet extract_from_text Tool]

Ich: Erstelle einen Willkommenstext mit Variante 2 für die Begrüßung
und füge einen Fun Fact hinzu.

Claude: [verwendet generate_modular_welcome_text mit entsprechenden Optionen]

Ausgabe:
Wir freuen uns riesig, Max Mustermann bei uns begrüßen zu dürfen!
Ab sofort verstärkt er unser Team im Bereich Development als Senior
Developer und bringt dabei wertvolle Erfahrung und neue Impulse mit.

Max bringt nicht nur umfangreiche Kenntnisse in JavaScript und
TypeScript mit, sondern auch jede Menge Energie und Leidenschaft
für moderne Webentwicklung.

Fun Fact über Max: Wusstest du, dass er ein begeisterter
Marathonläufer ist? Vielleicht erleben wir das bald gemeinsam im Team!

Herzlich willkommen im Team, Max Mustermann! Lass uns gemeinsam
großartige Dinge erreichen. Schön, dass du da bist!

Datenspeicherung

Alle extrahierten Daten werden automatisch gespeichert in:

<Projektverzeichnis>/data/extracted_data.json

Jeder Eintrag enthält:

  • id: Eindeutige ID (Timestamp)

  • timestamp: ISO 8601 Zeitstempel

  • source: Quelle der Daten ("Manuelle Texteingabe")

  • data: Die extrahierten Mitarbeiterdaten

Entwicklung

Projekt lokal starten

npm run dev

Build erstellen

npm run build

Tests ausführen

npm test

Technologie-Stack

  • TypeScript: Typsicherer Code

  • MCP SDK: Model Context Protocol Integration

  • Zod: Schema-Validierung

Projektstruktur

welcome-text-generator-mcp/
├── src/
│   ├── index.ts                 # Server-Einstiegspunkt
│   ├── types.ts                 # TypeScript-Typen
│   ├── tools/                   # MCP Tools
│   │   ├── extractFromTextTool.ts
│   │   ├── generateModularTextTool.ts
│   │   └── listDataTool.ts
│   ├── utils/                   # Hilfsfunktionen
│   │   ├── textExtractor.ts
│   │   └── moduleTextGenerator.ts
│   ├── templates/               # Text-Templates
│   │   └── moduleTemplates.ts
│   └── storage/                 # Datenspeicherung
│       └── dataStorage.ts
├── dist/                        # Kompilierte Dateien
├── data/                        # Gespeicherte Daten
├── package.json
├── tsconfig.json
└── README.md

Lizenz

MIT License - siehe LICENSE Datei

Beiträge

Contributions sind willkommen! Bitte erstelle einen Pull Request oder öffne ein Issue.

Support

Bei Fragen oder Problemen:

Changelog

Version 1.0.0

  • Initial Release

  • Text-Extraktion und Analyse

  • Modulares Template-System mit 5 Modulen

  • Datenspeicherung und -verwaltung

  • 3 Varianten für Einleitung und Abschluss

Available Tools

3 tools
extract_from_textText analysierenC

Extrahiert strukturierte Daten aus freigegebenem Text

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesFreitext mit Informationen über den Mitarbeiter

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It does not disclose whether the tool is read-only, modifies data, or requires any special permissions. The term 'extracts' implies a read operation, but this is not explicitly stated, and no other behavioral traits are mentioned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (single sentence) and front-loaded with the essential action. However, it is quite short and could benefit from additional structure or contextual details without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema, no annotations), the description is adequate but not fully complete. It explains what the tool does but omits details about the output format or any constraints on input text.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (one parameter 'text' with a clear description in German). The tool description does not add any meaning beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the verb 'extracts' and resource 'structured data from shared text', making the tool's purpose clear. The sibling tools (generate_modular_welcome_text, list_extracted_data) are distinct in name and function, so differentiation is implicit. However, the description does not specify what kind of structured data is extracted, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. The single-sentence description lacks any usage direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_modular_welcome_textModularen Willkommenstext generierenC

Generiert einen strukturierten Willkommenstext nach dem Modul-Template-System

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
moduleOptionsNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. However, it only states the output type ('welcome text') without mentioning side effects, permissions, rate limits, or whether it is read-only or destructive. The lack of specification is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. However, it is under-specified; it would benefit from additional context while remaining brief. It is not verbose, but minimalism sacrifices completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (nested objects, many subproperties, no output schema), the description is insufficient. It does not explain return values, what the 'module template system' is, or how to structure inputs properly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% (no descriptions on top-level parameters), and the tool description adds no information about the parameters. It does not explain what 'data' or 'moduleOptions' are or how to use them, despite the schema having nested objects and multiple subproperties.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('generiert' = generates) and resource ('strukturierten Willkommenstext' = structured welcome text), and the tool name aligns with this purpose. It is distinct from sibling tools like 'extract_from_text' and 'list_extracted_data', which are about extraction and listing, not generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or compare with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_extracted_dataGespeicherte Daten auflistenA

Listet alle bisher extrahierten und gespeicherten Mitarbeiterdaten auf

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description only says 'lists' without detailing output structure, pagination, or any limits. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no redundant words, front-loaded. Very concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, no-output-schema tool, description adequately states what is listed. Could mention relation to sibling tools but not necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so baseline 4. Description adds no param info, but schema coverage is 100% (empty), so it's adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states 'lists all extracted and saved employee data' - specific verb and resource, clearly distinguishing from siblings (extract_from_text, generate_modular_welcome_text).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this vs alternatives. Only implied it should be used after extraction, but no when-not or alternative mention.

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. Dates show when Glama detected each change.

  1. 3 tool updatesv1.0.2
    • First observedextract_from_text
    • First observedgenerate_modular_welcome_text
    • First observedlist_extracted_data

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a distinct purpose: extracting data, generating welcome text, and listing extracted data. No overlapping functionality.

Naming Consistency5/5

All tools use a consistent verb_noun pattern in snake_case, making them predictable and easy to understand.

Tool Count5/5

Three tools is an appropriate number for a focused server, covering extraction, generation, and listing without unnecessary bloat.

Completeness4/5

The core workflow of extracting data and generating welcome texts is covered. However, lacking update or delete operations for extracted data is a minor gap.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP-powered HR management system that automates employee onboarding, leave tracking, meeting scheduling, and IT ticketing. It allows users to manage organizational workflows and administrative tasks through natural language interactions with Claude.
    2
    -
  • F
    license
    B
    quality
    C
    maintenance
    Agentic AI system that automates HR workflows like employee onboarding, enabling HR teams to streamline tasks through natural language interactions with Claude Desktop.
    12
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/goodfel10w/WelcomeTextGenerator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server