
面试鸭 MCP Server

2025.04.08
41
Java面试题目搜索开发工具集成开发效率
面试鸭MCP Server是一个基于MCP协议的面试题目搜索服务,通过API将面试题目检索为面试鸭网站中的题目链接。该服务主要面向开发者,支持通过Java SDK快速接入,适用于需要集成面试题目搜索功能的智能体助手或开发工具。
View on GitHub
Overview
基本能力
产品定位
面试鸭MCP Server是一个基于MCP协议的面试题目搜索服务,旨在为开发者提供便捷的面试题目检索功能。
核心功能
- 题目搜索:将面试题目检索为面试鸭里的题目链接。
- 输入:题目
- 输出:题目
适用场景
- 智能体助手(如Claude、Cursor、千帆AppBuilder等)集成面试题目搜索功能。
- 开发者工具中需要快速检索面试题目的场景。
工具列表
- questionSearch:题目搜索工具,将面试题目检索为面试鸭里的题目链接。
常见问题解答
- 如何接入MCP协议?:通过Java SDK快速接入,支持任意支持MCP协议的智能体助手。
- 依赖环境:需要Java 17运行时环境。
使用教程
使用依赖
- 需要Java 17运行时环境。
安装教程
- 克隆仓库:
bash git clone https://github.com/yuyuanweb/mcp-mianshiya-server
- 构建项目:
bash cd mcp-mianshiya-server mvn clean package
调试方式
- 配置MCP服务器:
- 在Cherry Studio的设置中,点击
MCP 服务器
,编辑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": {} } } }
- 在设置-模型服务中选择模型,输入API密钥,勾选工具函数调用功能。
- 在输入框下面勾选开启MCP服务。
- 配置完成后,即可查询面试题目。
代码调用
- 引入依赖:
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>
- 配置MCP服务器:
- 在application.yml中配置MCP服务器参数。
- 示例配置:
yaml spring: ai: mcp: client: stdio: servers-configuration: classpath:/mcp-servers-config.json mandatory-file-encoding: UTF-8
- 初始化聊天客户端:
java @Bean public ChatClient initChatClient(ChatClient.Builder chatClientBuilder, ToolCallbackProvider mcpTools) { return chatClientBuilder .defaultTools(mcpTools) .build(); }
- 接口调用:
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]")); }