chore: align project naming to mtdata-mcp (#105)
Rename the PyPI distribution and GitHub URLs to mtdata-mcp, drop the bare mtdata console script that collides with an unrelated PyPI package, and document that the CLI entry is mtdata-cli. Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This commit is contained in:
co-authored by
Cursor Agent
parent
f24a1ac84e
commit
75e2e8e2ae
@@ -171,6 +171,10 @@ Keep the first session **read-only** unless you are on a demo account and intent
|
||||
|
||||
Dependency caveats (NeuralForecast optional installs, Python 3.14 exclusions, optional native accelerators) live in **[Setup](docs/SETUP.md)** so this page stays focused on getting you productive.
|
||||
|
||||
### Naming
|
||||
|
||||
The PyPI package is **`mtdata-mcp`**. The command-line entry is **`mtdata-cli`** (not `mtdata`). That avoids a clash with the unrelated [mtdata](https://pypi.org/project/mtdata/) machine-translation dataset package, which already owns the `mtdata` CLI. The importable Python package remains `mtdata` (`import mtdata`).
|
||||
|
||||
---
|
||||
|
||||
## Documentation
|
||||
|
||||
+2
-1
@@ -47,7 +47,8 @@ spawns it. For a background HTTP server, see [DEPLOYMENT.md](DEPLOYMENT.md).
|
||||
|
||||
## Claude Desktop (stdio)
|
||||
|
||||
After `pip install -e .`, add this to `claude_desktop_config.json`:
|
||||
After installing this repo (PyPI package **`mtdata-mcp`**, CLI **`mtdata-cli`**),
|
||||
add this to `claude_desktop_config.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
|
||||
+4
-1
@@ -327,7 +327,10 @@ After editable install, these entry points are available:
|
||||
| `mtdata-streamable-http` | Streamable HTTP | `mtdata-streamable-http` |
|
||||
| `mtdata-webapi` | Web API (FastAPI) | `mtdata-webapi` |
|
||||
| `mtdata-cli` | CLI | `mtdata-cli <command>` |
|
||||
| `mtdata` | CLI | `mtdata <command>` |
|
||||
|
||||
The published distribution name is **`mtdata-mcp`**. Use **`mtdata-cli`** (not
|
||||
`mtdata`) so this project does not collide with the unrelated
|
||||
[mtdata](https://pypi.org/project/mtdata/) CLI. The import remains `mtdata`.
|
||||
|
||||
**MCP server environment variables:**
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"$schema": "https://glama.ai/mcp/schemas/server.json",
|
||||
"maintainers": ["emerzon"]
|
||||
}
|
||||
+4
-4
@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "mtdata-mcp-server"
|
||||
name = "mtdata-mcp"
|
||||
version = "0.1.0"
|
||||
description = "MetaTrader5 MCP Server for market data retrieval and analysis."
|
||||
authors = [
|
||||
@@ -161,11 +161,11 @@ mtdata-stdio = "mtdata.core.server:main_stdio"
|
||||
mtdata-streamable-http = "mtdata.core.server:main_streamable_http"
|
||||
mtdata-webapi = "mtdata.core.web_api:main_webapi"
|
||||
mtdata-cli = "mtdata.core.cli:main"
|
||||
mtdata = "mtdata.core.cli:main"
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/emerzon/mt-data-mcp"
|
||||
Repository = "https://github.com/emerzon/mt-data-mcp"
|
||||
Homepage = "https://github.com/emerzon/mtdata-mcp"
|
||||
Repository = "https://github.com/emerzon/mtdata-mcp"
|
||||
Issues = "https://github.com/emerzon/mtdata-mcp/issues"
|
||||
|
||||
[tool.ruff]
|
||||
target-version = "py314"
|
||||
|
||||
@@ -20,6 +20,6 @@ def _read_local_project_version() -> Optional[str]:
|
||||
def cli_version() -> str:
|
||||
"""Return installed package version, falling back to a source checkout."""
|
||||
try:
|
||||
return importlib_metadata.version("mtdata")
|
||||
return importlib_metadata.version("mtdata-mcp")
|
||||
except importlib_metadata.PackageNotFoundError:
|
||||
return _read_local_project_version() or "unknown"
|
||||
|
||||
@@ -22,7 +22,7 @@ logger = logging.getLogger(__name__)
|
||||
|
||||
WEBUI_MOUNT_PATH = "/app"
|
||||
_MISSING_UI_STATUS = 503
|
||||
_PACKAGE_DISTRIBUTION = "mtdata-mcp-server"
|
||||
_PACKAGE_DISTRIBUTION = "mtdata-mcp"
|
||||
|
||||
|
||||
def _package_version() -> str:
|
||||
|
||||
@@ -27,7 +27,7 @@ _ARTIFACT_DEPENDENCY_DISTRIBUTIONS = {
|
||||
"torch": "torch",
|
||||
"transformers": "transformers",
|
||||
}
|
||||
_APPLICATION_DISTRIBUTION = "mtdata-mcp-server"
|
||||
_APPLICATION_DISTRIBUTION = "mtdata-mcp"
|
||||
|
||||
|
||||
class ArtifactCompatibilityError(ValueError):
|
||||
|
||||
@@ -77,6 +77,25 @@ def test_dynamic_tools_list_subprocess_has_clean_stderr():
|
||||
assert completed.stderr == ""
|
||||
|
||||
|
||||
def test_cli_version_reads_mtdata_mcp_distribution():
|
||||
from importlib.metadata import PackageNotFoundError
|
||||
|
||||
from mtdata.core.cli.version import cli_version
|
||||
|
||||
with patch(
|
||||
"mtdata.core.cli.version.importlib_metadata.version",
|
||||
return_value="0.1.0",
|
||||
) as version_lookup:
|
||||
assert cli_version() == "0.1.0"
|
||||
version_lookup.assert_called_once_with("mtdata-mcp")
|
||||
|
||||
with patch(
|
||||
"mtdata.core.cli.version.importlib_metadata.version",
|
||||
side_effect=PackageNotFoundError,
|
||||
):
|
||||
assert cli_version() == "0.1.0"
|
||||
|
||||
|
||||
def test_version_path_does_not_import_cli_api(capsys):
|
||||
from mtdata.core.cli import main
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ from mtdata.core.web_api_runtime import (
|
||||
def test_web_api_version_comes_from_installed_package_metadata():
|
||||
app = create_web_api_app(settings=WebApiRuntimeSettings())
|
||||
|
||||
assert app.version == version("mtdata-mcp-server")
|
||||
assert app.version == version("mtdata-mcp")
|
||||
|
||||
|
||||
def test_package_version_has_deterministic_source_checkout_fallback():
|
||||
|
||||
Reference in New Issue
Block a user