本项目是在AI极客马拉松竞赛中诞生的成果,结合了超能聊天(开源聊天客户端)与自定义MCP服务器。通过聊天交互调用MCP工具,实现网络资讯检索、笔记下载、管理与复写等功能,为用户提供便捷的知识管理体验。
在本次AI极客马拉松竞赛里,项目实现了一个基于超能聊天和自定义MCP服务器的程序。借助聊天交互调用MCP工具,达成如下核心功能:
文档未提及安装步骤,暂不展示。
from mcp.server.fastmcp import FastMCP
from datetime import datetime
import os
import requests
import re
mcp = FastMCP("WeiWanMcp", instructions="""
限制:
1.调用search_news查询资讯后,不要对内容进行总结,直接进行输出.
""")
nodePath = os.getenv("NOTES_PATH", "E:\MyDocuments\MyNotes\Clipper")
@mcp.tool()
def search_news(query: str, website: str):
"""检索网络资讯"""
url = 'https://s.jina.ai/?q=' + query + '&num=20'
headers = {
'Authorization': 'Bearer YOUR_API_KEY',
'X-Respond-With': 'no-content',
}
if website:
if validate_domain(website):
headers['X-Site'] = website
response = requests.get(url, headers=headers)
return response.text
@mcp.tool()
def download_note(webLink: str, nodeTitle: str):
"""下载网页内容为笔记"""
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get("https://r.jina.ai/" + webLink, headers=headers)
with open(nodePath + "\\" + nodeTitle + ".md", "w", encoding='utf-8') as file:
file.write(response.text)
return "笔记已保存至: " + nodePath + "\\" + nodeTitle + ".md"
@mcp.tool()
def overwrite_note(webLink: str, nodeTitle: str):
"""复写或整理笔记内容"""
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get("https://r.jina.ai/" + webLink, headers=headers)
with open(nodePath + "\\" + nodeTitle + ".md", "w", encoding='utf-8') as file:
file.write(response.text)
return "笔记已复写至: " + nodePath + "\\" + nodeTitle + ".md"
文档未提及高级用法相关代码,暂不展示。
search_news: 检索网络资讯。download_note: 下载网页内容为Markdown笔记。overwrite_note: 复写或整理笔记内容。服务器端代码实现了网络资讯的检索、下载和复写功能,支持指定站点(如知乎)的精准搜索。使用requests库进行HTTP请求处理,确保数据获取高效稳定。笔记内容存储在本地Markdown文件中,便于后续编辑和管理。
本次项目结合超能聊天和自定义MCP服务器,实现了从资讯检索到笔记管理的全流程自动化。未来会进一步优化功能,为用户提供更强大的知识管理工具!