The model context package manager

Update AGENTS.md

Signed-off-by: Jan Ehrhardt <59441+jehrhardt@users.noreply.github.com>

jehrhardt.dev 480a7e20 bada7431

verified
Changed files
+27 -18
+27 -18
AGENTS.md
··· 4 4 5 5 ## Project Overview 6 6 7 - This is a minimal Python project called `mcpkg` configured with modern Python packaging using `pyproject.toml`. The project currently contains a simple "Hello World" script as a starting point. 8 - 9 - ## Development Setup 10 - 11 - - **Python Version**: 3.13 (specified in `.python-version`) 12 - - **Package Configuration**: Uses `pyproject.toml` for project metadata and tool configuration 13 - - **Type Checking**: Configured with Pyright (settings in `pyproject.toml`) 7 + This is a Rust CLI application called `mcpkg` built with the Clap library for command-line argument parsing. The project is configured for the 2024 Rust edition and implements both CLI functionality and an MCP (Model Context Protocol) server using the `rmcp` library. 14 8 15 9 ## Common Commands 16 10 17 - ### Running the Application 11 + ### Building and Running 18 12 19 13 ```bash 20 - uv run main.py 14 + cargo build 15 + cargo run 16 + cargo run -- init 17 + cargo run -- mcp 21 18 ``` 22 19 23 - ### Package Management 24 - 25 - This project uses standard Python packaging with `pyproject.toml`. `uv` is used as a package manager. New dependencies can be added via: 20 + ### Development Commands 26 21 27 22 ```bash 28 - uv add <dependency> 23 + cargo check # Fast compilation check 24 + cargo test # Run tests 25 + cargo clippy # Linting 26 + cargo fmt # Code formatting 29 27 ``` 30 28 31 29 ## Architecture 32 30 33 - Currently a single-file Python project with: 31 + The project follows a modular structure: 34 32 35 - - `main.py`: Entry point with basic hello world functionality 36 - - `pyproject.toml`: Project configuration and metadata 37 - - Standard Python `.gitignore` for build artifacts and virtual environments 33 + - `src/main.rs`: Entry point with async main that delegates to the CLI module 34 + - `src/cli.rs`: CLI implementation using Clap derive macros with subcommand architecture 35 + - `src/mcp.rs`: MCP server implementation using rmcp library with stdio transport 38 36 39 - The project is set up for expansion into a proper Python package structure as needed. 37 + ### CLI Structure 38 + - Main `Cli` struct with optional subcommands using `arg_required_else_help = true` 39 + - `Commands` enum with `Init` and `Mcp` subcommands 40 + - Uses Clap 4.x with derive features for argument parsing 40 41 42 + ### MCP Server Structure 43 + - `Server` struct implements both `ServerHandler` and prompt routing via `#[prompt_router]` 44 + - Supports prompts capability with example prompt implementation 45 + - Supports resources capability with example resource at `instruction://insights` 46 + - Uses stdio transport for communication 47 + - Built with rmcp 0.6.3 with transport-io features 48 + 49 + The application is designed to work as both a CLI tool and an MCP server, with the MCP functionality providing prompts and resources to MCP clients.