MianshiyaServer

MianshiyaServer

🚀 面试鸭 MCP 服务器

面试鸭的题目搜索 API 已兼容 MCP 协议,是国内首家支持 MCP 协议的面试刷题平台。本服务基于 MCP Java SDK 开发,任何支持 MCP 协议的智能助手(如 Claude、Cursor 以及千帆 AppBuilder 等)都能轻松接入。以下是详细的适配说明。

✨ 主要特性

  • 面试鸭的题目搜索 API 兼容 MCP 协议,是国内首家支持该协议的面试刷题平台。
  • 基于 MCP Java SDK 开发,方便支持 MCP 协议的智能助手接入。

📦 工具列表

题目搜索 questionSearch

  • 功能:将面试题目转换为面试鸭里的题目链接。
  • 输入题目
  • 输出[题目](链接)

🚀 快速开始

使用面试鸭 MCP 服务器主要通过 Java SDK 的形式。

📦 安装指南

前提条件

需要 Java 17 运行时环境。

安装

git clone https://github.com/yuyuanweb/mcp-mianshiya-server

构建

cd mcp-mianshiya-server
mvn clean package

💻 使用示例

基础用法

配置 Cherry Studio

  1. 打开 Cherry Studio 的 设置,点击 MCP 服务器
  2. 点击 编辑 JSON,将以下配置添加到配置文件中。
{
"mcpServers": {
"mianshiyaServer": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-jar",
"/yourPath/mcp-server-0.0.1-SNAPSHOT.jar"
],
"env": {}
}
}
}

3. 在 设置 - 模型服务 中选择一个模型,输入 API 密钥,配置模型参数,并启用工具函数调用功能。 4. 在输入框下方勾选开启 MCP 服务。 5. 配置完成,然后查询面试题目

高级用法

代码调用

  1. 引入依赖

com.alibaba.cloud.ai
spring-ai-alibaba-starter
1.0.0-M6.1


org.springframework.ai
spring-ai-mcp-client-spring-boot-starter
1.0.0-M6

客户端使用阿里巴巴的通义千问模型,所以引入 spring-ai-alibaba-starter 依赖。若需要其他模型,请根据具体情况调整。 2. 配置 MCP 服务器 需要在 application.yml 中配置 MCP 服务器的相关参数:

spring:
ai:
mcp:
client:
stdio:
# 指定MCP服务器配置文件
servers-configuration: classpath:/mcp-servers-config.json
mandatory-file-encoding: UTF-8

其中 mcp-servers-config.json 的配置如下:

{
"mcpServers": {
"mianshiyaServer": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-jar",
"/Users/gulihua/Documents/mcp-server/target/mcp-server-0.0.1-SNAPSHOT.jar"
],
"env": {}
}
}
}
  1. 初始化聊天客户端
@Bean
public ChatClient initChatClient(ChatClient.Builder chatClientBuilder,
ToolCallbackProvider mcpTools) {
return chatClientBuilder
.defaultTools(mcpTools)
.build();
}
  1. 接口调用
@PostMapping(value = "/ai/answer/sse", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux generateStreamAsString(@RequestBody AskRequest request) {

Flux content = chatClient.prompt()
.user(request.getContent())
.stream()
.content();
return content
.concatWith(Flux.just("[complete]"));

}
  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-22 16:09

相似服务问题