Automated publishing workflow for deploying the MCP server package to PyPI when releases are created
Package distribution platform for publishing and installing the MCP server package
Database management capabilities including creating tables and managing database structures through the advanced server's tools
MCP Agents 🚀
FastMCP-based Model Context Protocol servers providing various tools, resources, and prompts for AI assistants.
Quick Start with uvx
The easiest way to run these MCP servers is using uvx
(recommended):
What is MCP?
The Model Context Protocol (MCP) is a standardized way to connect LLMs to tools and data. It provides:
Tools: Functions that LLMs can call to perform actions (like API endpoints)
Resources: Data that can be loaded into LLM context
Prompts: Reusable templates for LLM interactions
Installation Options
Option 1: Using uvx (Recommended)
Option 2: Clone and Run Locally
Option 3: Install from PyPI (Future)
Running the Servers
Publishing to PyPI
To publish this package to PyPI so users can use uvx @amajakai14/mcp-agents
:
Build the package:
pip install build twine python -m buildUpload to PyPI:
twine upload dist/*Or use GitHub Actions: Create a release on GitHub and the workflow will automatically publish to PyPI.
Testing Your MCP Server
Run the basic server:
python3 basic_mcp_server.pyRun the advanced server:
python3 advanced_mcp_server.py
Available Servers
Basic MCP Server (basic_mcp_server.py
)
A simple server demonstrating fundamental MCP tools:
add_numbers(a, b)
- Add two numbersmultiply_numbers(a, b)
- Multiply two numbersget_current_time()
- Get current timestampcreate_file_content(filename, content)
- Create a filelist_files_in_directory(directory)
- List directory contentscalculate_factorial(n)
- Calculate factorialformat_json(data)
- Format JSON with indentationword_count(text)
- Count words, characters, and lines
Advanced MCP Server (advanced_mcp_server.py
)
A comprehensive server showing tools, resources, and prompts:
Tools:
add_note(title, content, tags)
- Add a notesearch_notes(query)
- Search through notesadd_todo(task, priority)
- Add a todo itemcomplete_todo(todo_id)
- Mark todo as completedcreate_database_table(table_name, columns)
- Create SQLite table
Resources:
notes://all
- Get all notes as formatted texttodos://pending
- Get pending todo itemssystem://stats
- Get system statistics
Prompts:
note_summarizer(note_ids)
- Generate note summary prompttask_prioritizer()
- Generate task prioritization prompt
Using with LLM Applications
Claude Desktop
Add this to your Claude Desktop configuration:
Claude Desktop
Add this to your Claude Desktop configuration:
Simple Configuration (Default - Basic Server):
Multiple Servers Configuration:
For local installation:
Other MCP Clients
See client_example.py
for programmatic usage examples.
Creating Your Own MCP Tools
Here's the basic pattern for creating MCP tools with FastMCP:
Key Concepts
Tools vs Resources vs Prompts
Tools: Use
@mcp.tool
for functions that do something (create, update, calculate, etc.)Resources: Use
@mcp.resource("uri")
for functions that provide data (read, fetch, list, etc.)Prompts: Use
@mcp.prompt
for functions that generate prompt templates
Type Hints
Always use type hints - FastMCP uses them to generate proper schemas:
Error Handling
Handle errors gracefully in your tools:
Deployment
Local Development
FastMCP Cloud (Free)
Deploy to FastMCP Cloud for free hosting.
Custom Infrastructure
Use the built-in FastMCP deployment tools for your own servers.
Learn More
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Provides FastMCP-based servers with various tools for AI assistants including math operations, file management, note-taking, todo management, and database operations. Offers both basic and advanced server configurations with tools, resources, and prompt templates.