> ## Documentation Index
> Fetch the complete documentation index at: https://labs.prompthon.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Weather MCP Server Starter

<div className="not-prose my-4 rounded-md border border-gray-200 bg-gray-50 p-2 text-sm dark:border-gray-800 dark:bg-gray-900/40">
  <div className="mb-2 px-1 text-xs font-semibold uppercase tracking-wide text-gray-500 dark:text-gray-400">Need help?</div>

  <div className="flex flex-wrap gap-2">
    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://discord.gg/sDE2HhGTg4" target="_blank" rel="noreferrer">
      <Icon icon="discord" iconType="brands" size={14} />

      <span>Ask in Discord</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/issues/new/choose" target="_blank" rel="noreferrer">
      <Icon icon="github" iconType="brands" size={14} />

      <span>Open a GitHub issue</span>
    </a>

    <a className="inline-flex items-center gap-2 rounded-md border border-gray-200 bg-white px-3 py-1.5 font-medium text-gray-700 no-underline shadow-sm hover:border-gray-300 hover:bg-gray-50 dark:border-gray-800 dark:bg-gray-950/60 dark:text-gray-200 dark:hover:bg-gray-900" href="https://github.com/Prompthon-IO/agent-systems-handbook/blob/main/SUPPORT.md" target="_blank" rel="noreferrer">
      <Icon icon="life-ring" size={14} />

      <span>Support guide</span>
    </a>
  </div>
</div>

## Summary

This starter sketches a protocol-facing tool service that exposes a small,
stable weather interface for agent use.

## Status

`starter`

Source code: [systems/examples/weather-mcp-server-starter](https://github.com/Prompthon-IO/agent-systems-handbook/tree/main/systems/examples/weather-mcp-server-starter)

## Why It Exists

Protocol examples are easier to reason about when they focus on one tool
boundary. This starter keeps the scope to request validation, predictable tool
shapes, and response packaging.

## Related Lab Pages

* [Protocols And Interoperability](/systems/protocols-and-interoperability)
* [Systems Overview](/systems)

## Folder Structure

```text theme={null}
weather-mcp-server-starter/
├── index.mdx
└── src/
    ├── access_policy.py
    ├── server.py
    └── tool_manifest.py
```

## Quick Start

This is a starter, not a finished server. The example file shows the interface
shape and handler boundary without bringing in a full protocol runtime. For a
repo-level smoke check, run `python3 scripts/verify_example_projects.py` from
the repository root.

## Included Sample Files

* `src/server.py`: the minimal request and response boundary for one tool
* `src/tool_manifest.py`: a compact example of how a protocol-facing starter
  can declare its input schema and output shape
* `src/access_policy.py`: a small authorization boundary that keeps permission
  checks separate from the tool handler itself

## Constraints

* No transport layer is implemented.
* No real weather API integration is included.
* Authentication and permission rules are still placeholders.

## Next Steps

* Add a concrete transport surface.
* Add permission checks and request logging.
