Skip to content

Commit 41b631e

Browse files
author
sherlin
committed
update sse arg
1 parent b644002 commit 41b631e

File tree

5 files changed

+26
-15
lines changed

5 files changed

+26
-15
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "xiyan_mcp_server"
3-
version = "0.1.4"
3+
version = "0.1.5.dev0"
44
description = "A Model Context Protocol (MCP) server that utilizes XiyanSQL with databases. This server enables AI assistants to list tables, read data, and execute natural language queries"
55
readme = "README.md"
66
requires-python = ">=3.11"

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
setup(
44
name='xiyan_mcp_server', # 包的名字
5-
version='0.1.2', # 版本号
5+
version='0.1.5.dev0', # 版本号
66
packages=find_packages(), # 自动找到项目中的包
77
install_requires=[ # 必要的包依赖
88
# 'numpy', # 示例:若有依赖包,将其列在此

src/xiyan_mcp_server/__init__.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
from . import server
2-
3-
def main():
4-
"""Main entry point for the package."""
5-
server.main() # 修改为调用server.py中的main函数
61

72
# Expose important items at package level
8-
__all__ = ['main', 'server']
3+
__all__ = ['server']

src/xiyan_mcp_server/__main__.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
1-
from . import main
1+
import argparse
2+
import sys
3+
4+
from .server import run_mcp
5+
6+
7+
def main():
8+
parser = argparse.ArgumentParser(description="Run MCP server.")
9+
parser.add_argument("-transport", type=str, default="stdio",
10+
help="Transport method: 'stdio' or 'sse'")
11+
args = parser.parse_args(sys.argv[1:]) # 忽略第一个参数(模块名)
12+
run_mcp(transport=args.transport)
213

314
if __name__ == "__main__":
415
main()

src/xiyan_mcp_server/server.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
import argparse
12
import logging
23
import os
4+
from typing import Literal
5+
36
import yaml # 添加yaml库导入
47

58
from mysql.connector import connect, Error
@@ -24,6 +27,7 @@
2427

2528
def get_yml_config():
2629
config_path = os.getenv("YML", os.path.join(os.path.dirname(__file__), "config_demo.yml"))
30+
print(f"Load configuration from {config_path}")
2731
try:
2832
with open(config_path, 'r') as file:
2933
config = yaml.safe_load(file)
@@ -76,7 +80,7 @@ async def read_resource(table_name) -> str:
7680
raise RuntimeError(f"Database error: {str(e)}")
7781

7882

79-
def sql_gen_and_execute(db_env, query: str):
83+
def sql_gen_and_execute(db_env: DataBaseEnv, query: str):
8084
"""
8185
Transfers the input natural language question to sql query (known as Text-to-sql) and executes it on the database.
8286
Args:
@@ -180,11 +184,12 @@ def get_data(query: str)-> list[TextContent]:
180184
res=call_xiyan(query)
181185
return [TextContent(type="text", text=res)]
182186

183-
def main():
184-
mcp.run()
185-
186187

187-
if __name__ == "__main__":
188+
def run_mcp(transport: Literal["stdio", "sse"] = "stdio"):
189+
"""Start the MCP server with the specified transport method.
188190
189-
main()
191+
Args:
192+
transport (str): The transport method to use, either "stdio" or "sse".
193+
"""
194+
mcp.run(transport=transport)
190195

0 commit comments

Comments
 (0)