Merge pull request #1 from modelcontextprotocol/chore/scaffolding
Initial project structure for MCP variants
This commit is contained in:
parent
4c989fd9f6
commit
4f98e0aab3
7 changed files with 855 additions and 3 deletions
31
python/sdk/README.md
Normal file
31
python/sdk/README.md
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# MCP Variants Python SDK
|
||||
|
||||
Python implementation of the Model Context Protocol (MCP) variants framework.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install mcp-ext-variants
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from mcp_ext_variants import Variant
|
||||
|
||||
# Example usage will be added as the implementation progresses
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
```bash
|
||||
# Install in development mode
|
||||
pip install -e .
|
||||
|
||||
# Run tests (when available)
|
||||
pytest
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Apache License 2.0 - See LICENSE file in the root directory for details.
|
||||
71
python/sdk/pyproject.toml
Normal file
71
python/sdk/pyproject.toml
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
[project]
|
||||
name = "mcp-ext-variants"
|
||||
version = "0.1.0"
|
||||
description = "Python SDK for Model Context Protocol variants"
|
||||
authors = [{name = "The MCP Variants Authors"}]
|
||||
readme = "README.md"
|
||||
license = {text = "Apache-2.0"}
|
||||
requires-python = ">=3.10"
|
||||
classifiers = [
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Intended Audience :: Developers",
|
||||
"License :: OSI Approved :: Apache Software License",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.10",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
]
|
||||
dependencies = [
|
||||
"mcp>=1.0.0",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
"Homepage" = "https://github.com/modelcontextprotocol/experimental-ext-variants"
|
||||
"Bug Reports" = "https://github.com/modelcontextprotocol/experimental-ext-variants/issues"
|
||||
"Source" = "https://github.com/modelcontextprotocol/experimental-ext-variants"
|
||||
|
||||
[build-system]
|
||||
requires = ["hatchling"]
|
||||
build-backend = "hatchling.build"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["src/mcp_ext_variants"]
|
||||
|
||||
[tool.ruff]
|
||||
line-length = 120
|
||||
target-version = "py310"
|
||||
|
||||
[tool.ruff.lint]
|
||||
select = [
|
||||
"E", # pycodestyle
|
||||
"F", # pyflakes
|
||||
"I", # isort
|
||||
"UP", # pyupgrade
|
||||
"C4", # flake8-comprehensions
|
||||
"PERF", # Perflint
|
||||
]
|
||||
|
||||
[tool.ruff.lint.per-file-ignores]
|
||||
"__init__.py" = ["F401"] # Allow unused imports in __init__.py
|
||||
|
||||
[tool.ruff.format]
|
||||
quote-style = "double"
|
||||
indent-style = "space"
|
||||
|
||||
[tool.mypy]
|
||||
python_version = "3.10"
|
||||
warn_return_any = true
|
||||
warn_unused_configs = true
|
||||
disallow_untyped_defs = true
|
||||
ignore_missing_imports = true
|
||||
|
||||
[tool.pyright]
|
||||
typeCheckingMode = "basic"
|
||||
include = ["src/mcp_ext_variants", "tests"]
|
||||
venvPath = "."
|
||||
venv = ".venv"
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
testpaths = ["tests"]
|
||||
python_files = ["test_*.py", "*_test.py"]
|
||||
addopts = "--strict-markers --verbose"
|
||||
11
python/sdk/src/mcp_ext_variants/__init__.py
Normal file
11
python/sdk/src/mcp_ext_variants/__init__.py
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# Copyright 2025 The MCP Variants Authors. All rights reserved.
|
||||
# Use of this source code is governed by a Apache-2.0
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
"""
|
||||
MCP Variants Python SDK
|
||||
|
||||
Implements experimental MCP Variants for extended functionality.
|
||||
"""
|
||||
|
||||
__all__: list[str] = [] # Export list will be populated as the SDK develops
|
||||
0
python/sdk/src/mcp_ext_variants/py.typed
Normal file
0
python/sdk/src/mcp_ext_variants/py.typed
Normal file
9
python/sdk/src/mcp_ext_variants/variant.py
Normal file
9
python/sdk/src/mcp_ext_variants/variant.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Copyright 2025 The MCP Variants Authors. All rights reserved.
|
||||
# Use of this source code is governed by a Apache-2.0
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
"""
|
||||
Package variants implements experimental MCP Variants for extended functionality.
|
||||
"""
|
||||
|
||||
__all__ = [] # Export list will be populated as the SDK develops
|
||||
1
python/sdk/tests/__init__.py
Normal file
1
python/sdk/tests/__init__.py
Normal file
|
|
@ -0,0 +1 @@
|
|||
# Tests for mcp-ext-variants
|
||||
10
python/sdk/tests/test_variants.py
Normal file
10
python/sdk/tests/test_variants.py
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
# Copyright 2025 The MCP Variants Authors. All rights reserved.
|
||||
# Use of this source code is governed by a Apache-2.0
|
||||
# license that can be found in the LICENSE file.
|
||||
|
||||
"""Tests for MCP variants."""
|
||||
|
||||
|
||||
def test_placeholder():
|
||||
"""Placeholder test to ensure pytest runs successfully."""
|
||||
assert True
|
||||
Loading…
Reference in a new issue