Metadata-Version: 2.4
Name: hexagram-mcp-server
Version: 0.1.1
Summary: A sample MCP server exposing a current-time hexagram lookup tool.
Project-URL: Homepage, https://github.com/yourname/hexagram-mcp-server
Project-URL: Repository, https://github.com/yourname/hexagram-mcp-server
Project-URL: Issues, https://github.com/yourname/hexagram-mcp-server/issues
Author-email: Your Name <you@example.com>
License: MIT
License-File: LICENSE
Keywords: divination,hexagram,mcp,model-context-protocol,server
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Requires-Dist: mcp>=1.9.0
Provides-Extra: dev
Requires-Dist: build>=1.2.2; extra == 'dev'
Requires-Dist: pytest>=8.3.0; extra == 'dev'
Requires-Dist: ruff>=0.6.0; extra == 'dev'
Requires-Dist: twine>=5.1.1; extra == 'dev'
Description-Content-Type: text/markdown

# hexagram-mcp-server

A minimal, production-friendly sample MCP server project with PyPI publishing support.

## Features

- Minimal MCP server implementation
- Tool + Resource examples
- Modern Python packaging with `pyproject.toml`
- Console entry point (`hexagram-mcp-server`)
- Build and publish workflow for PyPI

## Quick Start

1. Create and activate a virtual environment.
2. Install dependencies:

   ```bash
   pip install -e .[dev]
   ```

3. Run the server:

   ```bash
   hexagram-mcp-server
   ```

## Example MCP API

- Tool: `get_hexagram() -> str`

## Build Package

```bash
python -m build
```

After building, artifacts are generated in the `dist/` directory.

## Publish to PyPI

1. Create a PyPI API token from your PyPI account.
2. Configure your token (recommended):

   ```bash
   set PYPI_TOKEN=pypi-xxxxxxxxxxxxxxxx
   ```

3. Upload:

   ```bash
   python -m twine upload -u __token__ -p %PYPI_TOKEN% dist/*
   ```

For TestPyPI, use:

```bash
python -m twine upload --repository-url https://test.pypi.org/legacy/ -u __token__ -p %PYPI_TOKEN% dist/*
```

## Publish with GitHub Actions

This template includes `.github/workflows/publish.yml` and supports PyPI Trusted Publishing.

1. Create your package on PyPI first.
2. In PyPI project settings, configure a Trusted Publisher for your GitHub repository.
3. Create a GitHub Release (`published`), then workflow will build and publish automatically.

If you prefer token-based upload in CI, you can replace the publish step with `twine upload` and store token in GitHub Secrets.

## Notes Before Publishing

- Update `name`, `authors`, and project URLs in `pyproject.toml`.
- Ensure version is bumped before each release.
- Verify package contents:

  ```bash
  python -m twine check dist/*
  ```

## License

MIT
