MCP Server Demo
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Server Demoshow me how to set up a new MCP server project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Getting Started with MCP in Your Python Project
These instructions are adapted from the original GitHub MCP Python SDK Repository: Model Context Protocol Python SDK.
We will use uv to manage your Python projects for a streamlined and reproducible setup.
1. Initialize a New uv-Managed Project
If you're starting fresh, initialize a new project:
uv init mcp-server-demo
cd mcp-server-demoYou can then copy the server.py file in your new project.
2. Add MCP to Your Project
Add the MCP package, including the CLI tools, as a dependency:
uv add "mcp[cli]"3. Run the MCP Development Tools
To use the MCP CLI with uv:
uv run mcp3. Interact with the Tool
If you have Claude Desktop, you can start interacting with the tool from the UI by running the following command:
uv mcp install server.pyYou can follow this tutorial for a step by step initialziation.
Alternatively, you can test it with the MCP Inspector:
uv mcp dev server.pyAvailable Tools
1 toolget_stock_priceA
Fetch the latest stock price for a given ticker symbol from Yahoo Finance
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | Yes |
TDQS
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 fetching from Yahoo Finance but doesn't disclose behavioral traits like rate limits, error handling, data freshness, or authentication needs. This leaves significant gaps for a tool interacting with an external API.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads key information (action, resource, source) with zero waste. It's appropriately sized for a simple tool with one parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and low schema coverage, the description is incomplete. It lacks details on return values, error cases, or API constraints, which are crucial for a tool fetching external data. More context is needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaning by specifying that the 'ticker' parameter is a symbol for fetching stock prices from Yahoo Finance. With only one parameter, this compensates well, though it could detail format constraints (e.g., uppercase).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('fetch'), resource ('stock price'), and scope ('latest... from Yahoo Finance'). It distinguishes the tool by specifying the data source and type of data retrieved, which is comprehensive given no sibling tools exist.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing the latest stock price for a ticker symbol, but provides no explicit guidance on when not to use it or alternatives. With no sibling tools, this is adequate but lacks depth in contextual boundaries.
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 tool update
- First observed
get_stock_price
TDQS
Scored across 1 tool
With only one tool, there is no possibility of ambiguity or overlap between tools. The tool's purpose is clearly distinct as it is the sole operation available.
The single tool follows a consistent verb_noun naming pattern (get_stock_price). Since there are no other tools to compare, it inherently maintains perfect consistency.
One tool is too few for a server named 'MCP Server Demo' which suggests a broader demonstration purpose. It feels thin and limited, lacking coverage for related operations like historical data or portfolio management.
The server's domain appears to be stock data, but with only a price-fetching tool, there are significant gaps. Missing operations include historical prices, company info, or trading actions, making the surface severely incomplete for typical stock-related workflows.
Maintenance
Related MCP Connectors
Create guides as MCP servers to instruct coding agents to use your software (library, API, etc).
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, Pā¦
MCP server for generating rough-draft project plans from natural-language prompts.
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.2-
- FlicenseBqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude Desktop, Cursor, and other AI assistants. Provides example tools, TypeScript support, and automated publishing workflows to help developers quickly create their own MCP integrations.112-
- FlicenseAqualityDmaintenanceA starter template for building custom MCP servers that can integrate with Claude Desktop, Cursor, and other AI assistants. Provides example tools, TypeScript support, and automated publishing workflows to help developers quickly create their own MCP servers.711-
- FlicenseAqualityDmaintenanceA basic demonstration MCP server that provides a simple greeting tool, showcasing how to build and integrate custom MCP servers with Claude Desktop using Python and the uv package manager.1-