Skip to main content
Glama

Agents Library MCP Server

AGENTS.md3.15 kB
# Project Overview This is a Python project designed to serve as an MCP (Multi-Cloud Platform) server. It utilizes FastAPI for the web framework and Uvicorn as the ASGI server. The project also includes an `agents-library` for managing agent-related rules and prompts. ## Technologies Used * **Python** * **FastAPI**: Web framework for building APIs. * **Uvicorn**: ASGI server. * **mcp**: Multi-Cloud Platform SDK. ## Project Structure * `Dockerfile`: Used for containerizing the application. * `requirements.txt`: Lists Python dependencies, generated from `requirements.in` by `pip-compile`. * `requirements.in`: Defines direct Python dependencies for the project. * `app/`: Contains the core application logic. * `server.py`: The main FastAPI application server. * `agents-library/`: Stores agent-related rules and prompts, categorized by type. * `bash/`: Contains bash scripts used by agents. * `markdown/`: Contains markdown files with agent instructions and prompts. * `.github/`: Contains GitHub Actions workflow definitions and other repository configurations. * `tests/`: Contains unit and integration tests for the application. * `test_server.py`: Tests for the main FastAPI server. * `docs/`: Contains project documentation. * `contributing.md`: Guidelines for contributing to the project. * `Taskfile.yml`: Defines various development tasks using Task (e.g., linting, testing, running the server). ## Building and Running To set up and run this project, follow these steps: 1. **Create and Activate Virtual Environment:** ```bash python3 -m venv venv source venv/bin/activate ``` 2. **Install Dependencies:** ```bash pip install -r requirements.txt ``` 3. **Run the Server:** ```bash uvicorn app.server:app --host 0.0.0.0 --port 8080 ``` 4. **Run Linting and Formatting Checks:** ```bash task lint ``` 5. **Run Tests:** ```bash task test ``` ## Development Conventions * **Virtual Environments**: Always use a virtual environment for dependency management. * **Dependencies**: All Python dependencies should be listed in `requirements.txt`. * **Git Commit Messages**: When creating commit messages using `git commit -m`, avoid using command substitution (e.g., `$(...)`, `<(...)`, `>(...)`) as it is not allowed for security reasons in some environments. Provide the commit message directly as a string. For multi-line commit messages, create a temporary file with the message content and use `git commit -F <file_name>`. * **Git Tags**: When creating git tags, always use an annotated tag with a message using the `-a` and `-m` flags (e.g., `git tag -a v1.0.0 -m "Release v1.0.0"`). This prevents the command from attempting to open an editor in non-interactive environments, which can cause issues in automated scripts. * **Commit Approval**: All proposed git commits must be reviewed and approved by a maintainer before being committed. * **Plan Approval**: Before implementing any significant changes or features, a detailed plan of action must be outlined and approved by a maintainer.

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/nicholaswilde/mcp-server'

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