Skip to main content
Glama
riteshbangal

BuildMcpServer

by riteshbangal

BuildMcpServer

A lightweight framework and tooling system for building and running MCP (Model Context Protocol) servers and inspectors using FastMCP.


Overview

This project provides:

  • Easy installation and management of Python environments with uv

  • FastMCP-based MCP server and inspector implementations

  • CLI tools to run, develop, and debug MCP servers

  • Example scripts to get started quickly


Related MCP server: my-mcp-server

Features

  • Minimal and fast MCP server using FastMCP

  • Interactive MCP Inspector for debugging and querying

  • Simple CLI commands for environment setup and server management

  • Integration with Python 3.13 and virtual environments


Getting Started

For detailed setup instructions, see the MCP Server Setup Guide and MCP Inspector Setup Guide.


Usage

  • Initialize your project environment with uv

  • Install dependencies using uv add

  • Run MCP servers with mcp run <script>

  • Use the inspector to debug and interact with MCP servers


Requirements

  • Python 3.13+

  • uv tool for environment and package management

  • Node.js (for MCP Inspector UI if used)


Contributing

Contributions, issues, and feature requests are welcome! Feel free to open an issue or submit a pull request.


License

MIT License © 2025 BuildMcpServer

Available Tools

4 tools
addA

Add two numbers together.

Args: a: First number b: Second number

Returns: The sum of a and b

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the basic behavior (addition) and return value (sum), but doesn't mention potential constraints like numeric limits, error handling for non-numeric inputs, or performance characteristics. For a simple arithmetic tool, this is adequate but minimal.

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 perfectly structured and concise: a clear purpose statement followed by well-organized Args and Returns sections. Every sentence earns its place, with no wasted words or redundancy.

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

Completeness5/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), the description is complete: it states the purpose, parameters, and return value. The output schema exists (though not shown), so the description doesn't need to explain return values further. For this context, nothing essential is missing.

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?

Schema description coverage is 0%, so the description must compensate. It provides clear semantic meaning for both parameters ('First number', 'Second number') beyond the schema's generic titles ('A', 'B'), though it doesn't specify numeric types or ranges. For a 2-parameter tool with no schema descriptions, this adds good value.

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 tool's purpose with a specific verb ('Add') and resource ('two numbers'), and it distinguishes from sibling tools (divide, multiply, subtract) by specifying the exact arithmetic operation. The opening sentence 'Add two numbers together' is unambiguous and complete.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('Add two numbers together'), and the context of sibling tools (divide, multiply, subtract) makes it clear this is for addition versus other arithmetic operations. No explicit exclusions are needed for such a simple, distinct tool.

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

divideA

Divide the first number by the second.

Args: a: Numerator b: Denominator

Returns: The result of a / b

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the basic operation but fails to disclose critical behavioral traits: it doesn't warn about division by zero errors, specify numeric type handling (integers vs floats), or describe error responses. For a mutation-like tool (division modifies data), this is inadequate.

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 appropriately sized and front-loaded: the core purpose is stated first in a single sentence, followed by structured sections for Args and Returns. However, the 'Args' and 'Returns' labels are slightly redundant with schema fields, and it could be more streamlined.

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 low complexity (simple arithmetic), no annotations, and an output schema that likely covers return values, the description is minimally complete. It explains the operation and parameters but misses behavioral details like error handling. For such a basic tool, this is adequate but not thorough.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate fully. It explicitly defines both parameters ('a: Numerator', 'b: Denominator') with clear mathematical meanings beyond the schema's generic titles ('A', 'B'). This adds essential semantic context that the schema lacks.

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 specific action ('Divide the first number by the second') and identifies the resource (numbers). It distinguishes from sibling tools (add, multiply, subtract) by specifying division rather than other arithmetic operations.

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 'multiply' or 'subtract'. It lacks context about appropriate use cases, prerequisites, or exclusions (e.g., division by zero handling).

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

multiplyA

Multiply two numbers together.

Args: a: First number b: Second number

Returns: The product of a and b

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the basic operation and return value but doesn't disclose behavioral traits like error handling (e.g., overflow), performance characteristics, or any constraints beyond the basic multiplication function.

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?

Perfectly front-loaded with the core purpose in the first sentence, followed by well-structured sections for Args and Returns. Every sentence earns its place with zero wasted words or redundancy.

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), no annotations, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the operation, parameters, and return value, though could benefit from more behavioral context for a tool with no annotations.

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?

Schema description coverage is 0%, so the description must compensate. It clearly explains both parameters ('First number', 'Second number') and their purpose in the multiplication operation, adding meaningful context beyond the bare schema types.

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 specific action ('Multiply two numbers together') and identifies the resource (numbers). It distinguishes from sibling tools (add, divide, subtract) by specifying multiplication rather than other arithmetic operations.

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 tool versus alternatives like 'add', 'divide', or 'subtract'. The description only states what the tool does, not when it's appropriate compared to other arithmetic operations available.

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

subtractA

Subtract the second number from the first.

Args: a: Number to subtract from b: Number to subtract

Returns: The result of a - b

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the basic operation but lacks behavioral details like error handling for non-numeric inputs, precision limits, or performance characteristics. The description doesn't disclose any behavioral traits beyond the core functionality.

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 appropriately sized and front-loaded with the core operation in the first sentence. The Args and Returns sections are structured efficiently with zero wasted words, making every sentence earn its place.

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 low complexity (simple arithmetic), 2 parameters, and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the operation and parameter meanings adequately, though it lacks some behavioral context that would be helpful without annotations.

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?

Schema description coverage is 0%, so the description must compensate. It clearly explains parameter semantics: 'a' as 'Number to subtract from' and 'b' as 'Number to subtract', adding meaning beyond the schema's generic titles. However, it doesn't specify constraints like number types (integer vs float) or ranges.

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 states a specific verb ('subtract') and resource ('the second number from the first'), clearly defining the mathematical operation. It distinguishes from siblings (add, divide, multiply) by specifying subtraction rather than other arithmetic operations.

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?

The description implies usage for subtraction calculations but provides no explicit guidance on when to use this tool versus alternatives like 'add' or 'multiply'. No context about when-not-to-use or prerequisites is mentioned.

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. 4 tool updates
    • First observedadd
    • First observeddivide
    • First observedmultiply
    • First observedsubtract

TDQS

A4/5.0
Disambiguation5/5

Each tool has a clearly distinct mathematical operation: addition, division, multiplication, and subtraction. There is no overlap in purpose, and the descriptions make it impossible to confuse one tool for another.

Naming Consistency5/5

All tool names follow a consistent verb-only pattern (add, divide, multiply, subtract) that directly describes the operation. There are no deviations in naming style or convention.

Tool Count4/5

With 4 tools covering basic arithmetic operations, the count is reasonable for a simple math server. It might be slightly thin if advanced operations are expected, but it's well-scoped for its apparent purpose.

Completeness5/5

The tool set provides complete coverage of the four fundamental arithmetic operations (addition, subtraction, multiplication, division) for a basic math domain. There are no obvious gaps in this scope, allowing agents to perform essential calculations without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A streamlined foundation for building Model Context Protocol servers in Python, designed to make AI-assisted development of MCP tools easier and more efficient.
    12
    -
  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server built with FastMCP that enables dynamic tool loading and configuration from individual Python files. It provides a flexible framework for automatically discovering, testing, and running tools via Stdio or HTTP transport modes.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server built with FastMCP that features dynamic tool loading and modular management via a dedicated tool directory. It supports both stdio and HTTP transport modes, enabling efficient development and deployment of custom MCP tools.
    -
  • F
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server framework featuring dynamic tool loading and automatic tool discovery from a dedicated directory. It leverages FastMCP to provide a robust environment for building, configuring, and testing individual Python-based tools.
    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/riteshbangal/BuildMcpServer'

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