Skip to main content
Glama
KI4JLU

mcp-blanko

by KI4JLU

JLU Salary & Budget Calculator (MCP Server)

This tool allows your AI assistant to calculate estimated salaries and total employer costs for project staff at Justus Liebig University (JLU) Giessen.

It automatically handles the university's official salary tables, compounding tariff increases, and complex German social security and taxation rules.


What It Calculates

The calculator supports three types of university staff:

  1. Student Assistants (Hilfskräfte)

    • Calculates monthly hourly wages based on education level.

    • Handles student social security rules (including Minijobs and Midijob pension contributions).

    • Computes the total cost to the university.

  2. Employees Covered by Collective Agreements (Tarifbeschäftigte - TV-H)

    • Looks up official TV-H salary grades (E1 to E16) and stages.

    • Tracks stage progression (getting raises automatically over time).

    • Computes full employer contributions (Health, Pension, Unemployment, and Care insurance).

    • Includes VBL additional pension, U2 levies, and the November Christmas bonus (Jahressonderzahlung).

  3. Civil Servants (Beamtinnen und Beamte)

    • Looks up Besoldungsgruppen (A6 to A16) and stages.

    • Computes family allowances for spouses and children (including multi-child rules).

    • Includes annual special payments and holiday bonuses (Sonderzahlung/Urlaubsgeld).


Related MCP server: MCP TypeScript Starter

How to Use It with an AI Assistant

Once connected, you can ask your AI assistant questions in plain language, such as:

  • "How much will it cost to hire a student assistant for 40 hours a month from March 2026 to February 2027?"

  • "What are the monthly and total employer costs for a TV-H E13 staff member starting at Stage 2 for a 2-year contract?"

  • "Compute the budget for a civil servant in grade A12, stage 3, with 2 children, working 50% time for all of 2027."

The AI will use the calculator tools in the background to provide 100% accurate, spreadsheet-validated calculations.


Quick Start (For Administrators / Developers)

Requirements

  • Node.js (version 18 or higher)

Setup & Run

  1. Install dependencies:

    npm install
  2. Build the application:

    npm run build
  3. Start the server:

    npm start

Connecting to Claude Desktop

Add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "jlu-salary-calculator": {
      "command": "node",
      "args": ["/absolute/path/to/Entgeltrechner-MCP/dist/index.js"]
    }
  }
}

(Replace /absolute/path/to/ with the actual path to where this folder is saved on your computer).

Available Tools

5 tools
fetch_dataC

Placeholder for a tool that calls an external API. Replace the handler with your own API logic.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodNoHTTP methodGET
endpointYesAPI endpoint path (e.g., /users/123)

TDQS

C2.3/5.0
Behavior2/5

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

No annotations exist, so description must disclose behavioral traits. It only says 'calls an external API' without detailing side effects, authentication, rate limits, or error behavior, providing minimal transparency.

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?

Single sentence is concise but lacks substantive information. As a placeholder, it is appropriately short but not optimally structured for usability.

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?

With 2 parameters and no output schema, the description fails to explain return format, expected behavior, or error cases. Incomplete for a tool intended to call an external API.

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?

Input schema coverage is 100% with clear descriptions for both parameters (method enum and endpoint string). The description adds no extra meaning, 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.

Purpose2/5

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

The description states it calls an external API but is vague and labeled as a placeholder. It does not distinguish what data or endpoint, making it unclear for an AI agent to select specific purpose vs siblings like hello_world or process_order.

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 on when to use this tool vs alternatives. No exclusions or comparisons provided, leaving the agent without context for appropriate selection.

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

hello_worldA

A simple greeting tool. Takes a name and returns a personalized greeting.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name to greet

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not explicitly state behavioral traits like idempotency or side effects. It implies a simple read-like operation but lacks full transparency.

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?

The description is extremely concise with two sentences, no unnecessary words, and directly addresses the tool's function.

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 simple one-parameter tool with no output schema, the description adequately covers its functionality. It could mention the greeting format but is sufficient.

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?

The input schema has 100% coverage and describes the 'name' parameter. The description adds no additional semantic detail beyond what is in the schema.

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 it is a greeting tool that takes a name and returns a greeting. It is distinct from sibling tools like fetch_data and process_order.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is provided. However, the tool's purpose is clear enough that an agent can infer its usage for generating greetings.

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

long_running_taskC

Demonstrates an async tool that simulates a long-running operation (e.g., data processing, report generation).

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNameYesName of the task to run
durationMsNoSimulated duration in milliseconds (100-5000)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description only says 'async' and 'simulates', but fails to disclose key behavioral traits such as return value, status checking, or cancellation behavior.

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 a single sentence, concise and front-loaded, with no wasted words. However, it could be longer to include more context without losing conciseness.

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 no output schema and no annotations, the description is inadequate. It does not explain the return format or how the async result is delivered, leaving the agent guessing.

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 coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the already descriptive parameter names and schema comments.

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 tool simulates an async long-running operation with examples like data processing and report generation. It distinguishes from siblings as none of them mention async or simulation.

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 like fetch_data or process_order, nor any prerequisites or exclusions.

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

manage_fileC

Demonstrates reading and writing local files. Operates within a configurable base directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesWhether to read or write
contentNoContent to write (required for write action)
filePathYesRelative file path within the working directory

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It mentions a configurable base directory but does not disclose safety aspects (e.g., read/write permissions, potential for overwriting files) or side effects beyond the basic operations.

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 short (18 words) but includes a filler word ('demonstrates'). It is concise, though not optimally structured for quick comprehension.

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 complexity (read/write, file path, content), the description is minimally adequate. It lacks details on error handling, file existence behavior, and output, which a tool of this type would benefit from.

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?

Input schema has 100% description coverage; all parameters have descriptions. The description adds context about the base directory, but does not significantly enhance understanding beyond schema definitions.

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 explicitly states it performs reading and writing of local files, which is a specific verb-resource combination. However, the word 'demonstrates' gives a demo connotation rather than a production tool, slightly reducing clarity.

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 on when to use this tool versus siblings. Siblings include diverse tools like fetch_data and long_running_task, but no context is provided for when manage_file is appropriate.

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

process_orderD

Demonstrates a tool with a rich input schema: nested objects, enums, optional fields, and error handling.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesList of items to order
notesNoOptional order notes
customerYes
priorityNoOrder priority levelnormal

TDQS

D1.4/5.0
Behavior1/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'error handling' abstractly but gives no specifics on side effects, authorization needs, or return behavior, leaving the agent uninformed about safety or consequences.

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

Conciseness2/5

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

The description is very short, but it is not effective conciseness; it wastes space on meta-commentary ('Demonstrates a tool...') instead of providing functional information. Every sentence should earn its place.

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

Completeness1/5

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

Given no output schema, no annotations, and a tool that likely creates or modifies data, the description is completely inadequate. It does not mention return values, potential errors, prerequisites, or any operational context.

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 high (75% or more), so the baseline is 3. The description adds no extra meaning beyond what the schema already provides; it only notes the schema is 'rich' without clarifying parameter roles or constraints.

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

Purpose1/5

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

The description 'Demonstrates a tool with a rich input schema' fails to state the tool's actual function; it is a tautology about schema characteristics rather than specifying the action or resource (e.g., 'process an order').

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

Usage Guidelines1/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 like 'fetch_data' or 'manage_file'; the description is entirely meta and does not indicate context or exclusions.

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. 5 tool updatesv1.0.0
    • First observedfetch_data
    • First observedhello_world
    • First observedlong_running_task
    • First observedmanage_file
    • First observedprocess_order

TDQS

B3/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: external API call, greeting, async simulation, file management, and order processing. No two tools overlap in functionality.

Naming Consistency4/5

All tool names use consistent snake_case, but 'hello_world' deviates from the verb_noun pattern as it is noun_noun. Otherwise, naming is predictable.

Tool Count5/5

With 5 tools, the count is within the well-scoped range. The server appears to be a demonstration or utility set, so the number is appropriate.

Completeness3/5

The tool set covers several common patterns (API, greeting, async, file I/O, complex schema) but lacks a cohesive domain, making it unclear what operations are missing. For a demo, it is moderately complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A TypeScript-based template for rapidly developing MCP servers with modular tool architecture, built-in validation using Zod schemas, and comprehensive error handling.
    4 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides a starting template for building MCP servers with TypeScript, including examples of tools and resources to accelerate development.
    -
  • F
    license
    C
    quality
    D
    maintenance
    A TypeScript template for building MCP servers with placeholder tools and dual transport support (stdio + SSE).
    5
    -