Skip to main content
Glama
Neel-XV

FastMCP MCP Server

by Neel-XV

FastMCP MCP Server Project 🚀

A Model Context Protocol (MCP) server built with FastMCP that provides tools for web scraping and documentation searching.

Features

  • fetch_page: Fetches any web page and converts it to Markdown using the Jina Reader API.

  • search_docs: A local search engine for the FastMCP documentation using minsearch.

  • add: A simple utility tool to add two numbers.

Related MCP server: docs-mcp-server

Prerequisites

  • uv installed on your system.

  • Python 3.10 or higher.

Installation

  1. Clone the repository and navigate to the project directory.

  2. The dependencies are managed by uv. You can install them by running:

    uv sync

Usage

Running the MCP Server

To start the server using the Standard I/O (stdio) transport:

uv run main.py

Testing with MCP Inspector

You can use the official MCP Inspector to test the tools in a web interface:

npx @modelcontextprotocol/inspector uv run main.py

Project Structure

  • main.py: The core MCP server implementation.

  • search.py: Development script for testing minsearch indexing.

  • test.py: Validation script for the fetch_page tool.

  • count_data.py: Example application using the fetch_page tool to count word occurrences.

  • fastmcp-main.zip: Local cache of the FastMCP documentation.

Available Tools

3 tools
addA

Add two numbers

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior5/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 disclosure. 'Add two numbers' completely and accurately describes the tool's behavior: it is a pure function with no side effects, no destructive actions, and no hidden complexity. The simplicity of the operation makes the description fully transparent.

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 a single, concise sentence that gets straight to the point. It is appropriately sized for the tool's simplicity, with no wasted words or irrelevant information.

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 extreme simplicity of the tool and the presence of an output schema, the description is complete. It covers the operation, the parameters are straightforward, and sibling tools are clearly unrelated, so no additional context is needed.

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 covers 0% of parameter descriptions, so the tool description must compensate. 'Add two numbers' confirms that both a and b are the operands for the operation, adding some semantic context. However, it does not explicitly describe the return value or edge cases, relying on the output schema for those details.

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 function: adding two numbers. It uses a specific verb (add) and resource (two numbers), making it easily distinguishable from sibling tools like fetch_page and search_docs, which serve entirely different purposes.

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 when to use the tool (whenever addition of two numbers is needed) but provides no explicit guidance on alternatives or conditions. Sibling tools are clearly unrelated, so the context is clear, but the description could be more explicit about its scope.

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

fetch_pageA

Fetch the content of a web page as markdown using Jina Reader.

Args: url: The URL of the page to fetch.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

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?

With no annotations, the description carries full burden for behavioral disclosure. It only states the action and output format, omitting details about the external Jina Reader dependency, potential errors, rate limits, authentication, or any side effects. Lacks depth beyond basic 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 compact: a clear purpose statement followed by an Args list. No redundant text, well-structured, and every sentence contributes. It is appropriately sized for the tool's simplicity.

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?

The tool is simple with one required parameter, and an output schema exists, so return values need not be explained. However, the description lacks usage guidance and behavioral context (e.g., Jina Reader's limitations), preventing a perfect score. Still, it is reasonably complete for a basic fetch operation.

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 0%, so the description must compensate. It provides a one-line description of 'url' as 'The URL of the page to fetch,' adding semantic meaning beyond the schema's bare string type. This is adequate for a single obvious parameter but not elaborate.

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 'fetches the content of a web page as markdown' using Jina Reader. This is a specific verb+resource combination that distinguishes it from the unrelated siblings 'add' and 'search_docs'.

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 when a web page's markdown content is needed, but it does not explicitly state when to use it versus alternatives. No exclusions or alternative tool mentions are provided, so guidance is only implicit.

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

search_docsB

Search FastMCP documentation for the given query.

Args: query: The search query.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

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 the full burden of behavioral disclosure. It only states that the tool searches documentation, but does not disclose whether it is read-only, how results are returned, or any error conditions. This is 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 a single sentence front-loaded with the action and resource, followed by a brief args section. No wasted words.

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?

The tool is simple with one parameter and an output schema, so the description is adequate for basic invocation, but it lacks usage guidelines and behavioral details. It is minimal but not insufficient.

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

Parameters2/5

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

The input schema has a single required parameter 'query' with 0% description coverage. The description adds only 'The search query,' which is redundant with the parameter name and provides no additional semantic value away from what the schema implies.

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 uses the specific verb 'Search' with the resource 'FastMCP documentation', clearly distinguishing it from siblings like 'add' and 'fetch_page'. The scope is unambiguous.

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, such as fetch_page. No context or exclusions are 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. 3 tool updatesv0.1.0
    • First observedadd
    • First observedfetch_page
    • First observedsearch_docs

TDQS

A3.6/5.0
Disambiguation5/5

Each tool performs a unique, clearly defined function with no overlap between arithmetic, web fetching, and documentation search. An agent would have no difficulty selecting the appropriate tool.

Naming Consistency4/5

Tool names are short, lowercase, and mostly follow a verb_noun pattern (fetch_page, search_docs). The lone exception is 'add', which is a bare verb, but it is still clear and consistent in style.

Tool Count4/5

With only 3 tools, the server is on the lighter side, but the small set is still reasonable for a general-purpose utility server. Each tool earns its place, though the collection feels somewhat sparse.

Completeness2/5

The tools are unrelated to a single coherent domain, making it difficult to assess what complete coverage would look like. There are no obvious lifecycle operations (e.g., update or delete) and the set appears to be a collection of unconnected utilities, leaving significant gaps for any specific purpose.

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

  • A
    license
    Not graded
    quality
    A
    maintenance
    A Model Context Protocol (MCP) server that scrapes, indexes, and searches documentation for third-party software libraries and packages, supporting versioning and hybrid search.
    3,262
    1,711
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides documentation access capabilities. This server enables LLMs to search and retrieve content from documentation websites by scraping them with crawl4ai. Built with FastMCP v2.
    18
    MIT

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/Neel-XV/MCP-Server'

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