面试鸭 MCP Server

by yuyuanweb

133 640 downloads Not rated yet MIT

About

基于 Spring AI 的面试鸭搜索题目的 MCP Server 服务,快速让 AI 搜索企业面试真题和答案

Details

License
MIT

Explore

- 提供题目搜索工具 questionSearch,输入题目返回链接。
- 兼容 MCP 协议,可被多种 AI 助手调用。
- 基于 Java 17 和 MCP Java SDK 开发,部署方便。
- 作为国内首家兼容 MCP 的面试刷题网站接口。

需要 Java 17 运行时环境。克隆源码后通过 mvn clean package 构建。使用方式包括在 Cherry Studio 等客户端中配置 JSON 启动命令,或通过 Spring AI 框架代码集成。配置时需指定 jar 路径,客户端还需配置所用模型的 API 密钥(如通义千问)。

简介

面试鸭
的题目搜索API现已兼容MCP协议,是国内首家兼容MCP协议的面试刷题网站。关于MCP协议,详见MCP官方文档。

依赖MCP Java SDK开发,任意支持MCP协议的智能体助手(如Claude、Cursor以及千帆AppBuilder等)都可以快速接入。

以下会给更出详细的适配说明。

工具列表

题目搜索 questionSearch

- 将面试题目检索为面试鸭里的题目链接
- 输入: 题目
- 输出: 题目

快速开始

使用面试鸭MCP Server主要通过Java SDK 的形式

Java 接入

> 前提需要Java 17 运行时环境

安装

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


构建

bash
cd mcp-mianshiya-server
mvn clean package

使用

1) 打开Cherry Studio的设置,点击MCP 服务器。
cherry1.png

2) 点击编辑 JSON,将以下配置添加到配置文件中。

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": {}
}
}
}

cherry2.png

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

代码调用

1) 引入依赖

java
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-M6.1</version>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-mcp-client-spring-boot-starter</artifactId>
<version>1.0.0-M6</version>
</dependency>

2) 配置MCP服务器
需要在application.yml中配置MCP服务器的一些参数:

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

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

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": {}
}
}
}
客户端我们使用阿里巴巴的通义千问模型,所以引入spring-ai-alibaba-starter依赖,如果你使用的是其他的模型,也可以使用对应的依赖项,比如openAI引入spring-ai-openai-spring-boot-starter 这个依赖就行了。
配置大模型的密钥等信息:
yaml
spring:
ai:
dashscope:
api-key: ${通义千问的key}
chat:
options:
model: qwen-max
通义千问的key可以直接去官网 去申请,模型我们用的是通义千问-Max。
3) 初始化聊天客户端
java
@Bean
public ChatClient initChatClient(ChatClient.Builder chatClientBuilder,
ToolCallbackProvider mcpTools) {
return chatClientBuilder
.defaultTools(mcpTools)
.build();
}
4) 接口调用
java
@PostMapping(value = "/ai/answer/sse", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public Flux<String> generateStreamAsString(@RequestBody AskRequest request) {

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

}
``

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.