Skip to main content
Glama
sakthigcp

MCP Server Example

by sakthigcp

MCP Server Example

This project is an example of a simple web server, mcp-server, designed to be run easily and without a complex setup process.

It uses uv, a fast Python package manager, to execute the server directly from its GitHub repository in a temporary environment.

Prerequisites

Before you can run the server, you need to have uv installed on your system.

Install uv

On macOS and Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

On Windows (PowerShell):

irm https://astral.sh/uv/install.ps1 | iex

Related MCP server: MCP Example Simple Server

Running the Server

You can run the server with a single command in your terminal. This command uses uvx to fetch the code from GitHub, set up a temporary environment, and run the mcp-server application.

uvx --from git+https://github.com/sakthigcp/mcpserverexample.git mcp-server

After running this, the server will start and be accessible on your local machine (typically at http://127.0.0.1:8000).

Task Runner Configuration

The JSON snippet below is an example of how you might configure a task runner (like just or a custom script) to create a convenient alias for the run command.

In this configuration, a task named addnumbers is defined to execute the server.

{
  "addnumbers": {
    "command": "uvx",
    "args": [
      "--from",
      "git+https://github.com/sakthigcp/mcpserverexample.git",
      "mcp-server"
    ]
  }
}

If you were using a tool that reads this configuration, you could simply run your-task-runner addnumbers to start the server.

Available Tools

1 tool
addB

Adds two numbers a and b and returns the result!

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the basic operation and return value, but doesn't cover important aspects like error conditions (e.g., overflow), performance characteristics, or any side effects. For a mathematical operation tool, this leaves significant behavioral gaps.

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 - a single sentence that communicates the core functionality efficiently. There's zero waste or redundancy, and the information is front-loaded with the essential purpose and outcome.

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?

Given the tool's simplicity (basic arithmetic operation with 2 parameters) and the presence of an output schema (which handles return value documentation), the description is reasonably complete. It covers the essential purpose and outcome. However, it could benefit from mentioning that it performs integer addition specifically, since the schema shows integer parameters.

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 schema description coverage is 0%, so the description must compensate. It identifies the parameters as 'two numbers a and b' which provides basic semantics, but doesn't explain constraints, ranges, or the mathematical relationship beyond addition. The description adds some value but doesn't fully compensate for the schema coverage gap.

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 clearly states the tool's purpose with a specific verb ('Adds') and resources ('two numbers a and b'), and mentions the return value. It doesn't need to distinguish from siblings since there are none. However, it could be slightly more precise by specifying integer addition rather than generic 'numbers'.

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. While there are no sibling tools to differentiate from, it doesn't mention any context, prerequisites, or constraints for usage. The description simply states what it does without indicating appropriate scenarios.

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. 1 tool updatev1.0.0
    • Changedadd1 field changed
      • addedInput schema / title
        Added value: +"addArguments"
  2. 1 tool update
    • First observedadd

TDQS

B3.3/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion or overlap between tools, making disambiguation perfect. The tool's purpose is clearly defined as adding two numbers, with no other tools to potentially conflict with.

Naming Consistency5/5

With a single tool, naming consistency is inherently perfect as there are no other tools to compare against. The tool name 'add' follows a simple verb pattern, which is appropriate for its function.

Tool Count2/5

A single tool for a server is generally too few for meaningful functionality, as it limits the server's scope and utility. While the tool is well-defined, the count feels thin and inadequate for most practical applications, indicating a mismatch in scope.

Completeness2/5

The server's domain appears to be basic arithmetic, but with only an addition tool, there are significant gaps in coverage (e.g., subtraction, multiplication, division). This incomplete surface will likely cause agent failures when other arithmetic operations are needed.

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
    B
    quality
    D
    maintenance
    A basic Model Context Protocol (MCP) server implementation that provides a foundation for MCP server development. The README doesn't specify particular functionality, suggesting it may be a template or starting point for building custom MCP servers.
    1
    -
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A minimal MCP server example that provides basic utility tools including text echo and current time retrieval. Serves as a simple starting point for building MCP servers with fastmcp.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A simple demonstration MCP server that provides an echo tool and resource for learning how to build MCP servers. Serves as a starting point and template for creating custom MCP server implementations.
    1
    -

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/sakthigcp/mcpserverexample'

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