Your connection was interrupted
What is MCP Servers?
MCP Servers are open-source Message Control Protocol (MCP) servers designed for scientific research, enabling users to create and manage their own servers for various applications.
How to use MCP Servers?
To use MCP Servers, you can install them via PyPI, clone the latest main branch from GitHub, or use a specific branch. After installation, you can create and configure your own server package using provided commands and configurations.
Key features of MCP Servers?
- Open-source and customizable server framework
- Easy installation via PyPI or GitHub
- Ability to create and manage multiple server instances
- Logging and debugging support
Use cases of MCP Servers?
- Setting up custom servers for scientific data processing.
- Developing and testing new protocols in a controlled environment.
- Collaborating on research projects that require specific server configurations.
FAQ from MCP Servers?
- Is MCP Servers free to use?
Yes! MCP Servers are open-source and free for everyone to use.
- Can I contribute to MCP Servers?
Absolutely! Contributions are welcome, and you can follow the guidelines in the repository to submit your changes.
- What programming language is used in MCP Servers?
MCP Servers are primarily developed in Python.
MCP Servers
Open Source MCP (Message Control Protocol) Servers for Scientific Research
Installation Options
Option 1: Using PyPI Version
Install the latest stable version from PyPI using the following configuration:
{
"mcpServers": {
"mcp-txyz-search": {
"command": "uvx",
"args": ["mcp-txyz-search"],
"env": {
"TXYZ_API_KEY": "YOUR_TXYZ_API_KEY_HERE"
}
}
}
}
Option 2: Using Latest Main Branch
For the most recent development version, use this configuration:
{
"mcpServers": {
"mcp-txyz-search": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/pathintegral-institute/mcp-servers#subdirectory=servers/txyz-search",
"mcp-txyz-search"
],
"env": {
"TXYZ_API_KEY": "YOUR_TXYZ_API_KEY_HERE"
}
}
}
}
Option 3: Using Specific Branch
To use a specific branch, modify the configuration as follows:
{
"mcpServers": {
"mcp-txyz-search": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/pathintegral-institute/mcp-servers@branch_name#subdirectory=servers/txyz-search",
"mcp-txyz-search"
],
"env": {
"TXYZ_API_KEY": "YOUR_TXYZ_API_KEY_HERE"
}
}
}
}
Creating a New Server
1. Initialize Server Package
Create a new server package using UV:
uv init servers/your-new-server --package
uv --directory servers/your-new-server add mcp
2. Configure Server
Create or update servers/your-new-server/src/your_new_server/__init__.py
:
def main():
from mcp.server.fastmcp import FastMCP
import logging
# Configure logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(name)s - %(message)s'
)
logger = logging.getLogger(__name__)
# Initialize MCP server
mcp = FastMCP()
# Define your tools
@mcp.tool()
async def add(a: int, b: int) -> str:
return str(a + b)
# Start server
logger.info('Starting your-new-server')
mcp.run('stdio')
3. Launch Server
Run your server using:
uv --directory servers/your-new-server run your-new-server
Upon successful startup, you should see output similar to:
2025-04-01 10:22:36,402 - INFO - your_new_server - Starting your-new-server
Naming Conventions
There are 3 different names for each MCP server:
- the name of the code directory (the folder name and also the name defined in
project.name
ofpyproject.toml
in your server directory): use hyphen, e.g.:
# servers/your-server/pyproject.toml
[project]
name = "your-server"
- the name of the python package (the name of the directory in
servers/your-server/src
): use snake_case, e.g.:servers/your-server/src/your_server
- the name of the script (defined in
[project.scripts]
section ofservers/your-server/pyproject.toml
): use snake_case and prefix withmcp-
, e.g.:
[project.scripts]
mcp-your-server = "your_server:main"
Contributing
We welcome contributions to MCP Servers! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Please ensure your PR adheres to:
- Clear commit messages
- Proper documentation updates
- Test coverage for new features
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Thanks to all contributors