Simple_mcp_server

Simple_mcp_server

🚀 📚 简单的MCP信息服务器

这是一个基于FastMCP的微服务,借助LangChain社区实用工具搭建而成。它提供了搜索工具,可用于在Wikipedia上搜索信息,以及从Arxiv获取学术论文资料。

🚀 快速开始

该项目展示了如何利用FastMCP创建一个MCP(模型上下文协议)服务器。它提供了两个实用工具,可供Claude Desktop用于搜索Wikipedia从Arxiv获取学术论文信息

✨ 主要特性

什么是MCP?

模型控制协议(MCP) 是一种协议,它能让语言模型(如Claude)以标准方式与外部工具(即“能力”)进行通信。这些“能力”可以是用任何语言编写的函数、网络API或者本地脚本。借助MCP,Claude可以调用你的工具、获取响应并继续对话。

该项目的功能

此信息服务器通过MCP开放了两个工具:

  1. get_info(searchterm: str) — 在Wikipedia上搜索简短摘要。
  2. get_research_paper(searchterm: str) — 在Arxiv上获取学术论文元数据。

概述

此工具通过MCP开放了两个兼容的端点:

  • get_info:在Wikipedia上搜索信息。
  • get_research_paper:从Arxiv获取学术论文的信息。

项目优势

  • 无需依赖Claude Desktop UI:可直接使用命令行工具。
  • 易于替换LLM:支持多种语言模型,如Groq、OpenAI等。
  • 完全控制交互流程:能够自定义代理逻辑和工具调用顺序。

📦 安装指南

技术栈

  • FastMCP:用于创建MCP服务器。
  • LangChain社区工具包:用于与Wikipedia和Arxiv交互。
  • Python 3.12+:项目运行的基础语言。

先决条件

  • Python 3.12或更高版本。
  • 安装并配置好uv工具(用于运行MCP服务器)。
  • 安装Claude Desktop(用于连接和测试)。

初始化项目

  1. 创建新项目:
    uv init simple_mcp_server
    cd simple_mcp_server
    
  2. 激活虚拟环境:
    source env/bin/activate  # 对于Mac/Linux
    # 或者
    .\env\Scripts\activate  # 对于Windows
    
  3. 安装依赖项:
    pip install mcp[cli] langchain-community wikipedia arxiv
    

运行服务器

  1. 启动MCP服务器:
    uv run server.py
    
  2. 配置Claude Desktop连接到此服务器。

💻 使用示例

基础用法

搜索Wikipedia

from langchain_community.wikipedia import WikipediaAPI

# 初始化Wikipedia API工具
wiki_tool = WikipediaAPI()

# 调用搜索功能
result = wiki_tool.search("Donald Trump")
print(result)

获取学术论文

import arxiv

# 初始化Arxiv客户端
client = arxiv.Client()

# 搜索论文
papers = client.search("AI in finance", max_results=5)
for paper in papers:
print(paper.title, paperauthors))

高级用法

使用自定义MCP客户端

import os
from langchain_community import wikipedia, arxiv

# 初始化Wikipedia和Arxiv工具
wiki_tool = WikipediaAPI()
arxiv_tool = arxiv.Client()

# 创建MCP代理
class MCPAgent:
def __init__(self):
self.tools = [wiki_tool, arxiv_tool]

async def run(self, query):
# 根据查询选择合适的工具
if "Wikipedia" in query:
return wiki_tool.search(query)
else:
return arxiv_tool.search(query)

# 初始化代理
agent = MCPAgent()

# 执行搜索任务
result = await agent.run("tell me about donald trump")
print(f"\n结果: {result}")

📚 详细文档

配置Claude Desktop

编辑Claude Desktop的配置文件,添加以下内容:

"display": ":1"

启动Claude Desktop并连接到MCP服务器。

总结

该项目展示了如何通过FastMCP快速创建一个功能强大的信息检索服务器。无论是用于个人研究还是企业应用,都可以根据需求灵活扩展和定制。

  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-23 00:15

相似服务问题