- Explore MCP Servers
- my-mcp-server
My Mcp Server
What is My Mcp Server
The Model Context Protocol (MCP) is an open protocol designed to standardize the integration of Large Language Models (LLMs) with various data sources and tools, similar to a USB-C port for connecting peripherals. This project implements a FastMCP server that allows LLMs to interact with the local file system and execute commands securely and efficiently.
Use cases
MCP is beneficial for applications needing context-aware interactions, including local data manipulation, command execution, and file management. Use cases include software development, data analysis, and automated system tasks, where secure access to system resources is required.
How to use
To use the MCP server, install the necessary dependencies, clone the repository, and run the server with the appropriate configuration. Clients like Claude Desktop can then connect to the MCP server using the defined identifier to access its tools for executing commands, managing files, and other functionalities.
Key features
Key features of the MCP server include the ability to execute shell commands, view, search, edit, and write files, as well as fetch web pages. These capabilities extend the functionality of LLMs, allowing them to perform complex tasks directly on the local system while following best security practices.
Where to use
MCP servers can be used in local environments with LLM applications, such as development environments, text editors, or IDEs. They are especially suitable for scenarios where integration with local resources is needed, offering flexibility to switch between different LLM vendors and ensuring secure operations.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Overview
What is My Mcp Server
The Model Context Protocol (MCP) is an open protocol designed to standardize the integration of Large Language Models (LLMs) with various data sources and tools, similar to a USB-C port for connecting peripherals. This project implements a FastMCP server that allows LLMs to interact with the local file system and execute commands securely and efficiently.
Use cases
MCP is beneficial for applications needing context-aware interactions, including local data manipulation, command execution, and file management. Use cases include software development, data analysis, and automated system tasks, where secure access to system resources is required.
How to use
To use the MCP server, install the necessary dependencies, clone the repository, and run the server with the appropriate configuration. Clients like Claude Desktop can then connect to the MCP server using the defined identifier to access its tools for executing commands, managing files, and other functionalities.
Key features
Key features of the MCP server include the ability to execute shell commands, view, search, edit, and write files, as well as fetch web pages. These capabilities extend the functionality of LLMs, allowing them to perform complex tasks directly on the local system while following best security practices.
Where to use
MCP servers can be used in local environments with LLM applications, such as development environments, text editors, or IDEs. They are especially suitable for scenarios where integration with local resources is needed, offering flexibility to switch between different LLM vendors and ensuring secure operations.
Clients Supporting MCP
The following are the main client software that supports the Model Context Protocol. Click the link to visit the official website for more information.
Content
MCP Tools
A custom Model Context Protocol (MCP) server implementation that provides file system and command execution tools for Claude Desktop and other LLM clients.
What is the Model Context Protocol?
The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to Large Language Models (LLMs). Much like a USB-C port provides a standardized way to connect devices to various peripherals, MCP provides a standardized way to connect AI models to different data sources and tools.
This project implements a FastMCP server with several useful tools that enable Claude and other LLMs to interact with your local file system and execute commands. It extends LLMs’ capabilities with local system access in a controlled way through well-defined tool interfaces.
Key Benefits of MCP
- Standardized Integration: MCP provides a growing list of pre-built integrations that your LLM can directly plug into
- Vendor Flexibility: Easily switch between LLM providers and vendors (Claude, GPT-4o, Gemini, etc.)
- Security: Best practices for securing your data within your infrastructure
- Tool Exposure: Encapsulate existing tools and make them accessible to any MCP-compatible LLM client
Features
The MCP server provides the following file system and command execution tools:
- execute_shell_command: Execute shell commands and get stdout/stderr results
- show_file: View file contents with optional line range specification
- search_in_file: Search for patterns in files using regular expressions
- edit_file: Make precise changes to files with string replacements and line operations
- write_file: Write or append content to files
MCP Architecture
MCP follows a client-server architecture:
- Hosts: LLM applications (like Claude Desktop or IDEs) that initiate connections
- Clients: Maintain 1:1 connections with servers, inside the host application
- Servers: Provide context, tools, and prompts to clients (this project implements a server)
Prerequisites
- Python 3.10 or higher
- An MCP-compatible client (Claude Desktop, or any other client that supports MCP)
Installation
- Install uv
- Clone this repository or download the source code
- Run
uv run mcp install
to install the MCP server - Run
which uv
to get an absolute path to theuv
executable - Update your MCP server configuration in Claude Desktop to use the absolute path to the
uv
executable
My MCP server configuration looks like this:
{
"globalShortcut": "",
"mcpServers": {
"zbigniew-mcp": {
"command": "/Users/zbigniewtomanek/.local/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"marker-pdf",
"mcp",
"run",
"/Users/zbigniewtomanek/PycharmProjects/my-mcp-tools/server.py"
]
}
}
}
Usage
Connecting from Claude Desktop
- Open Claude Desktop
- Connect to the MCP server using the identifier “zbigniew-mcp”
Note: While this implementation focuses on Claude Desktop, MCP is designed to be compatible with any MCP-compatible tool or LLM client, providing flexibility in implementation and integration.
Available Tools
execute_shell_command
Execute shell commands safely using a list of arguments:
execute_shell_command(["ls", "-la"])
execute_shell_command(["grep", "-r", "TODO", "./src"])
execute_shell_command(["python", "analysis.py", "--input", "data.csv"])
execute_shell_command(["uname", "-a"])
show_file
View file contents with optional line range specification:
show_file("/path/to/file.txt")
show_file("/path/to/file.txt", num_lines=10)
show_file("/path/to/file.txt", start_line=5, num_lines=10)
search_in_file
Search for patterns in files using regular expressions:
search_in_file("/path/to/script.py", r"def\s+\w+\s*\(")
search_in_file("/path/to/code.py", r"#\s*TODO", case_sensitive=False)
edit_file
Make precise changes to files:
# Replace text
edit_file("config.json", replacements={"\"debug\": false": "\"debug\": true"})
# Insert at line 5
edit_file("script.py", line_operations=[{"operation": "insert", "line": 5, "content": "# New comment"}])
# Delete lines 10-15
edit_file("file.txt", line_operations=[{"operation": "delete", "start_line": 10, "end_line": 15}])
# Replace line 20
edit_file("file.txt", line_operations=[{"operation": "replace", "line": 20, "content": "Updated content"}])
write_file
Write or append content to files:
# Overwrite file
write_file("/path/to/file.txt", "New content")
# Append to file
write_file("/path/to/log.txt", "Log entry", mode="a")
fetch_page
Fetch the contents of a web page to a PDF (requires chromium installed) and then parses it to markdown using local LLMs:
fetch_page("https://example.com")
Transport Mechanisms
MCP supports multiple transport methods for communication between clients and servers:
- Standard Input/Output (stdio): Uses standard input/output for communication, ideal for local processes
- Server-Sent Events (SSE): Enables server-to-client streaming with HTTP POST requests for client-to-server communication
This implementation uses a local MCP server that communicates via text input/output.
Extending with Your Own Tools
You can easily extend this MCP server by adding new tools with the @mcp.tool
decorator. Follow the pattern in server.py to create new tools that expose additional functionality to your LLM clients.
Related Projects
- langchain-mcp-adapters: Use MCP with LangChain
- MCP-Bridge: Map MCP tools to OpenAI’s format
Security Considerations
The MCP server provides Claude with access to your local system. Be mindful of the following:
- The server executes shell commands as your user
- It can read, write, and modify files on your system
- Consider limiting access to specific directories if security is a concern
Dev Tools Supporting MCP
The following are the main code editors that support the Model Context Protocol. Click the link to visit the official website for more information.