feat: demo
This commit is contained in:
53
demo_mcp/sse_server.py
Normal file
53
demo_mcp/sse_server.py
Normal file
@@ -0,0 +1,53 @@
|
||||
from mcp.server.fastmcp import FastMCP
|
||||
|
||||
|
||||
# 在创建FastMCP实例时指定host和port
|
||||
mcp = FastMCP("sdg", log_level="ERROR", host="127.0.0.1", port=8001)
|
||||
|
||||
@mcp.tool(
|
||||
name="query_high_frequency_question",
|
||||
description="从知识库中检索常见问题解答(FAQ),返回包含问题和答案的结构化JSON数据。",
|
||||
)
|
||||
async def query_high_frequency_question() -> str:
|
||||
"""
|
||||
高频问题查询
|
||||
"""
|
||||
try:
|
||||
print("调用查询高频问题的tool成功!!")
|
||||
return "高频问题是: 恐龙是怎么灭绝的?"
|
||||
except Exception as e:
|
||||
print(f"Unexpected error in question retrieval: {str(e)}")
|
||||
raise
|
||||
|
||||
@mcp.tool(
|
||||
name="get_weather",
|
||||
description="查询天气"
|
||||
)
|
||||
async def get_weather() -> str:
|
||||
"""
|
||||
查询天气的tools
|
||||
"""
|
||||
try:
|
||||
print("调用查询天气的tools")
|
||||
return "北京的天气是多云"
|
||||
except Exception as e:
|
||||
print(f"Unexpected error in question retrieval: {str(e)}")
|
||||
raise
|
||||
|
||||
|
||||
def main():
|
||||
print("正在启动MCP SSE服务器...")
|
||||
print("SSE端点: http://localhost:8001/sse")
|
||||
print("按 Ctrl+C 停止服务器")
|
||||
|
||||
try:
|
||||
# 运行SSE服务器
|
||||
mcp.run(transport="sse")
|
||||
except KeyboardInterrupt:
|
||||
print("\n服务器已停止")
|
||||
except Exception as e:
|
||||
print(f"服务器启动失败: {e}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user