Fix transport configuration not working with PyPI entry point #143
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug Description
When the
atlan-mcp-server
package was installed via PyPI and executed usinguvx atlan-mcp-server
, the transport configuration was not being applied. The server would always start instdio
mode, ignoring both environment variables (MCP_TRANSPORT
,MCP_HOST
, etc.) and command-line arguments.Root Cause
The argument parsing logic was only executed in the
if __name__ == "__main__":
block, which runs when the script is executed directly (python server.py
) but not when called via the PyPI entry point (uvx atlan-mcp-server
). The PyPI entry point calls themain()
function directly, bypassing the argument parsing.Solution
Moved the argument parsing logic from the
if __name__ == "__main__":
block into themain()
function itself. This ensures that:MCP_TRANSPORT
,MCP_HOST
,MCP_PORT
,MCP_PATH
)This also updates the uv lock which was not in sync with latest fastmcp version