+27
-18
AGENTS.md
+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.