Skip to content

Commit 517752e

Browse files
author
kunxin.lkx
committed
1 parent 1b12ebe commit 517752e

File tree

1 file changed

+52
-6
lines changed

1 file changed

+52
-6
lines changed

mcp-server-demo/mcp-server-demo/server.py

Lines changed: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,38 @@
11
# server.py
2+
import logging
3+
import os
4+
import sys
5+
from datetime import datetime
26
from mcp.server.fastmcp import FastMCP
37
import requests
48

9+
# Configure logging
10+
log_dir = "logs"
11+
if not os.path.exists(log_dir):
12+
os.makedirs(log_dir)
13+
14+
log_file = os.path.join(log_dir, f"server_{datetime.now().strftime('%Y%m%d')}.log")
15+
16+
# Create formatters
17+
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
18+
19+
# Create handlers
20+
file_handler = logging.FileHandler(log_file)
21+
file_handler.setFormatter(formatter)
22+
23+
# Configure root logger
24+
logging.basicConfig(
25+
level=logging.INFO,
26+
format='%(asctime)s - %(levelname)s - %(message)s',
27+
handlers=[file_handler]
28+
)
29+
30+
# Get logger
31+
logger = logging.getLogger(__name__)
32+
33+
# Test log message
34+
logger.info("=== Logging system initialized ===")
35+
536
# Create an MCP server
637
mcp = FastMCP("Demo")
738

@@ -10,17 +41,23 @@
1041
@mcp.tool()
1142
def add(a: int, b: int) -> int:
1243
"""Add two numbers"""
13-
return a + b
44+
logger.info(f"Function 'add' called with parameters: a={a}, b={b}")
45+
result = a + b
46+
logger.info(f"Function 'add' returned: {result}")
47+
return result
1448

1549

1650
# Add a dynamic greeting resource
1751
@mcp.resource("greeting://{name}")
1852
def get_greeting(name: str) -> str:
1953
"""Get a personalized greeting"""
20-
return f"Hello, {name}!"
54+
logger.info(f"Function 'get_greeting' called with parameter: name={name}")
55+
result = f"Hello, {name}!"
56+
logger.info(f"Function 'get_greeting' returned: {result}")
57+
return result
2158

2259
@mcp.tool()
23-
def request_wxread_gongzhonghao_articles(book_id: str,token: str) -> str:
60+
def request_wxread_gongzhonghao_articles(book_id: str, token: str) -> str:
2461
"""请求微信阅读公众号文章
2562
真实请求头参考:
2663
@@ -38,6 +75,8 @@ def request_wxread_gongzhonghao_articles(book_id: str,token: str) -> str:
3875
Accept-Encoding: gzip
3976
4077
"""
78+
logger.info(f"Function 'request_wxread_gongzhonghao_articles' called with parameters: book_id={book_id}, token={'*' * len(token) if token else 'None'}")
79+
4180
host = "https://i.weread.qq.com"
4281

4382
headers = {
@@ -68,11 +107,18 @@ def request_wxread_gongzhonghao_articles(book_id: str,token: str) -> str:
68107
params=params
69108
)
70109
response.raise_for_status()
71-
return response.text
110+
result = response.text
111+
logger.info(f"Function 'request_wxread_gongzhonghao_articles' returned successfully with response length: {len(result)} ; content: {result[:100]}")
112+
return result
72113
except requests.exceptions.RequestException as e:
73-
return f"Error fetching articles: {str(e)}"
114+
error_msg = f"Error fetching articles: {str(e)}"
115+
logger.error(error_msg)
116+
return error_msg
74117

75118

76119
def get_wxread_token():
77120
"""获取微信阅读token"""
78-
return "fcMfiJf6"
121+
logger.info("Function 'get_wxread_token' called")
122+
token = "fcMfiJf6"
123+
logger.info(f"Function 'get_wxread_token' returned token: {'*' * len(token)}")
124+
return token

0 commit comments

Comments
 (0)