Skip to main content
Glama
by OxSci-AI
README.md7.69 kB
# MCP Server Template A scaffold template for building MCP (Model Context Protocol) servers using the [oxsci-oma-mcp](https://github.com/OxSci-AI/oxsci-oma-mcp) framework. ## Prerequisites - Python 3.11 or higher - Poetry for dependency management - AWS CLI configured with access to CodeArtifact (for installing dependencies from CodeArtifact) > **Note**: Docker is only required for CI/CD deployment workflows, not for local development. ## Installation ### Installation Prerequisites The installer script itself only requires **Python 3.11+** (uses only Python standard library, no external packages needed). However, to complete the installation, you also need: - **Git** installed (for initializing the repository) - **Network connectivity** to GitHub (for downloading the template) - **Write permissions** in the directory where you'll run the script The installer will also check for: - **AWS CLI** (warning only - required later for CodeArtifact access, but not needed during installation) The installer will automatically check these prerequisites before proceeding. ### Option 1: Quick Install (Recommended) Install directly from GitHub with a single command. You can use either command-line arguments (recommended) or interactive prompts. > **Important**: Run the script from the **parent directory** where you want to create the service. For example: > - To create `/git/mcp-my-service/`, run the script from `/git/` directory > - The script will create `mcp-{service-name}/` in the current working directory #### Direct Installation with Arguments (Recommended) The simplest way - directly download and execute with parameters: ```bash # Navigate to the parent directory where you want to create the service cd /git # Run the installer curl -sSL https://raw.githubusercontent.com/OxSci-AI/oxsci-mcp-scaffold/main/install.py | python3 - \ --service-name document-processor \ --tool-name document_processor \ --yes ``` Command-line options: - `--service-name`: Service name (must start with a letter, lowercase letters/numbers/hyphens only) - `--tool-name`: Initial tool name (must start with a letter, lowercase letters/numbers/underscores only) - `--yes` or `-y`: Skip confirmation prompt (recommended for non-interactive mode) - `--skip-env-check`: Skip environment prerequisites check (not recommended) #### Interactive Mode If you prefer to answer prompts interactively, download the script first: ```bash # Navigate to the parent directory where you want to create the service cd /git # Download and run interactively curl -sSL https://raw.githubusercontent.com/OxSci-AI/oxsci-mcp-scaffold/main/install.py > install.py python3 install.py ``` The script will: 1. **Check environment prerequisites** (Python 3.11+, Git, network connectivity) 2. **Show current directory** and confirm where the service will be created 3. **Prompt for service name** (e.g., `document-processor` - will create `mcp-document-processor` directory) 4. **Prompt for tool name** (e.g., `document_processor` - will create the initial tool file and configure it) > **Note**: If you try to use the pipe method without arguments, you'll get an `EOFError` because stdin is redirected. Always provide `--service-name` and `--tool-name` when using the pipe method. The installer will: 1. Verify environment prerequisites (Python 3.11+, Git, network) 2. Download the latest scaffold template from GitHub 3. Create a new project directory with all files configured 4. Initialize a git repository 5. Set up the tool structure and configuration files ### Option 2: Manual Setup If you prefer to clone the repository first: ```bash # Clone the repository git clone https://github.com/OxSci-AI/oxsci-mcp-scaffold.git cd oxsci-mcp-scaffold # Run setup script python setup.py ``` The setup script will prompt you for: - Service name (will create `mcp-{service-name}` directory) - Tool name (will create the initial tool file and configure it) ## Quick Start After installation, navigate to your new service directory: ```bash cd mcp-{your-service-name} ``` ### 1. Configure AWS CodeArtifact Before installing dependencies, configure access to the private package repository: ```bash # Make the script executable (if not already) chmod +x entrypoint-dev.sh # Run the configuration script (valid for 12 hours) ./entrypoint-dev.sh ``` > **Note**: The authentication token expires after 12 hours. Re-run this script when needed. ### 2. Install Dependencies ```bash poetry install ``` ### 3. Development #### Run Server Locally ```bash poetry run uvicorn app.core.main:app --reload --port 8060 ``` Access the server at: http://localhost:8060 - API documentation: http://localhost:8060/docs - Tool discovery: http://localhost:8060/tools/discover - Tool list: http://localhost:8060/tools/list #### Test Your Tools **Check server status:** ```bash curl http://localhost:8060/ ``` **Discover available tools:** ```bash curl http://localhost:8060/tools/discover ``` **List all tools (including disabled ones):** ```bash curl http://localhost:8060/tools/list ``` **Execute a tool:** ```bash curl -X POST http://localhost:8060/tools/example_tool \ -H "Content-Type: application/json" \ -d '{ "arguments": { "input_text": "Hello World", "uppercase": true }, "context": { "user_id": "user123" } }' ``` ## Project Structure ``` mcp-{service-name}/ ├── .github/ │ └── workflows/ │ └── docker-builder.yml # CI/CD workflow for building and deploying ├── app/ │ ├── core/ │ │ ├── __init__.py │ │ ├── config.py # Service configuration │ │ └── main.py # FastAPI application entry point │ └── tools/ │ ├── __init__.py # Import tools here │ ├── example_tool.py # Example tool implementation │ └── tool_template.py # Comprehensive tool template (disabled) ├── docs/ │ └── TOOL_DEVELOPMENT.md # Tool development guide ├── tests/ │ └── test_example.py # Example tests ├── .vscode/ │ └── extensions.json # Recommended VS Code extensions ├── Dockerfile # Multi-stage Docker build ├── entrypoint-dev.sh # CodeArtifact configuration script ├── install.py # Installer script (for creating new services) ├── setup.py # Setup script (for local setup) ├── pyproject.toml # Project dependencies and configuration └── README.md # This file ``` ## Next Steps Once your service is set up and running, refer to these resources: - **[Tool Development Guide](docs/TOOL_DEVELOPMENT.md)**: Learn how to create, configure, and deploy MCP tools - **API Documentation**: Visit <http://localhost:8060/docs> when running locally - **Example Tool**: Check `app/tools/example_tool.py` for a working example - **Template Tool**: See `app/tools/tool_template.py` for comprehensive patterns ## Tools and Frameworks This template integrates: - **FastAPI**: Web framework for building APIs - **oxsci-oma-mcp**: MCP protocol implementation and tool router - **oxsci-shared-core**: Shared utilities and configuration (optional) ## Related Projects - [oxsci-oma-mcp](https://github.com/OxSci-AI/oxsci-oma-mcp): MCP protocol package - [oxsci-oma-core](https://github.com/OxSci-AI/oxsci-oma-core): OMA agent framework - [oxsci-shared-core](https://github.com/OxSci-AI/oxsci-shared-core): Shared utilities ## License © 2025 OxSci.AI. All rights reserved.

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/OxSci-AI/oxsci-mcp-scaffold'

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