tower-mcp 0.3.3

Tower-native Model Context Protocol (MCP) implementation
Documentation
# AGENTS.md

This repo has MCP servers configured in `.mcp.json` that you can use directly.

## Available MCP Servers

### crates-mcp-local
Query the Rust crate registry (crates.io).

Tools: `search_crates`, `get_crate_info`, `get_crate_versions`,
`get_dependencies`, `get_reverse_dependencies`, `get_downloads`,
`get_owners`, `get_summary`, `get_crate_authors`, `get_user`

### markdownlint-mcp
Lint markdown files with 66 rules.

Tools: `lint_content`, `lint_file`, `lint_url`, `list_rules`,
`explain_rule`, `fix_content`

### weather
Weather forecasts via NWS API (US only).

Tools: `get_forecast` (lat/lon), `get_alerts` (state code)

### codegen-mcp
MCP server that helps build MCP servers (meta!).

Tools: `init_project`, `add_tool`, `remove_tool`, `get_project`,
`generate`, `validate`, `reset`

Resources: `project://Cargo.toml`, `project://src/main.rs`, `project://state.json`

### conformance
Full MCP protocol conformance server (39/39 tests passing).

Tools: `test_simple_text`, `test_tool_with_progress`, `test_sampling`,
`test_elicitation`, and more

### tower-mcp-example
Simple demo server with `echo`, `add`, `reverse` tools.

Resources: `source://stdio_server.rs` - serves its own source code

## Getting Started

1. Read `examples/README.md` for a guided tour of the examples
2. That file has intentional markdown errors - try linting and fixing them
3. Read the `source://stdio_server.rs` resource to see how a server is built

## Development

Before committing, run:

```bash
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --lib --all-features
cargo test --test '*' --all-features
cargo test --doc --all-features
```

## Project Structure

- `src/` - Main library code
- `examples/` - Example MCP servers
  - `crates-mcp/` - Full-featured crates.io server
  - `markdownlint-mcp/` - Markdown linting server
  - `codegen-mcp/` - MCP server builder (generates tower-mcp code)
  - `conformance-server/` - MCP spec conformance tests
  - `stdio_server.rs` - Minimal example
  - `weather_server.rs` - External API example