Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ dev = [
"pytest-cov>=7.0.0",
"python-dotenv>=1.2.1",
"ruff>=0.14.11",
"ty>=0.0.12",
]

[build-system]
Expand All @@ -35,11 +36,20 @@ line-length = 100

[tool.ruff.format]
quote-style = "single"
indent-style = "tab"
indent-style = "space"
docstring-code-format = true

[tool.ruff.lint]
extend-select = ["I"]
# "I" (isort), "D" (pydocstyle), "E" (pycodestyle)
extend-select = ["I", "D", "E"]
ignore = [
"D203", # 1 blank line required before class docstring (conflicts with D211)
"D213", # Multi-line docstring summary should start at the second line (conflicts with D212)
]

[tool.ruff.lint.per-file-ignores]
"src/lampyrid/models/firefly_models.py" = ["D100", "D101", "E501"]
"tests/**/*.py" = ["D104"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
Expand Down
4 changes: 3 additions & 1 deletion run.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
"""Entry point for running the LamPyrid MCP server."""

from lampyrid import __main__

if __name__ == '__main__':
__main__.main()
__main__.main()
1 change: 1 addition & 0 deletions src/lampyrid/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"""LamPyrid MCP server package."""
27 changes: 15 additions & 12 deletions src/lampyrid/__main__.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
"""Main entry point for the LamPyrid MCP server."""

from .config import settings
from .server import mcp


def main() -> None:
# Support both stdio (for local development) and http (for containerized deployment)
# Configuration is managed through settings (from .env or environment variables)
if settings.mcp_transport == 'http':
# HTTP mode for containerized deployment
mcp.run(transport='streamable-http', host=settings.mcp_host, port=settings.mcp_port)
elif settings.mcp_transport == 'sse':
# SSE mode for real-time updates
mcp.run(transport='sse', host=settings.mcp_host, port=settings.mcp_port)
else:
# Default stdio mode for local development
mcp.run(transport='stdio')
"""Initialize and run the MCP server based on configuration settings."""
# Support both stdio (for local development) and http (for containerized deployment)
# Configuration is managed through settings (from .env or environment variables)
if settings.mcp_transport == 'http':
# HTTP mode for containerized deployment
mcp.run(transport='streamable-http', host=settings.mcp_host, port=settings.mcp_port)
elif settings.mcp_transport == 'sse':
# SSE mode for real-time updates
mcp.run(transport='sse', host=settings.mcp_host, port=settings.mcp_port)
else:
# Default stdio mode for local development
mcp.run(transport='stdio')


if __name__ == '__main__':
main()
main()
Loading