mcpField
面
面试鸭 MCP Server

面试鸭 MCP Server

Local
mianshiya.comSearch140Updated 67w ago

About 面试鸭 MCP Server

The 面试鸭 MCP Server is a Spring AI based MCP server that exposes the question search of the 面试鸭 interview practice site as an MCP tool. It suits users who want to look up company interview questions from an AI assistant, and it can be connected to MCP-capable clients such as Claude and Cursor.

Key features

  1. 01questionSearch tool for interview questions
  2. 02Built with the MCP Java SDK
  3. 03Returns links to questions on 面试鸭
  4. 04Runs over stdio transport

Use cases

  1. 01Searching company interview questions from an AI assistant
  2. 02Calling question search from a Java application through Spring AI

MCP support

This is an MCP server that exposes the questionSearch tool to MCP clients. It takes a question query and returns matching question links on 面试鸭.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

面试鸭 MCP Server

简介

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

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

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

工具列表

题目搜索 questionSearch
  • 将面试题目检索为面试鸭里的题目链接
  • 输入: 题目
  • 输出: [题目](链接)

快速开始

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

Java 接入

前提需要Java 17 运行时环境

安装
git clone https://github.com/yuyuanweb/mcp-mianshiya-server
构建
cd mcp-mianshiya-server
mvn clean package
使用
  1. 打开Cherry Studio的设置,点击MCP 服务器。 cherry1.png

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

cherry2.png

  1. 在设置-模型服务里选择一个模型,输入API密钥,选择模型设置,勾选下工具函数调用功能。 cherry3.png
  2. 在输入框下面勾选开启MCP服务。 cherry4.png
  3. 配置完成,然后查询下面试题目 cherry5.png
代码调用
  1. 引入依赖
        <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>
  1. 配置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": {}
    }
  }
}

客户端我们使用阿里巴巴的通义千问模型,所以引入spring-ai-alibaba-starter依赖,如果你使用的是其他的模型,也可以使用对应的依赖项,比如openAI引入spring-ai-openai-spring-boot-starter 这个依赖就行了。 配置大模型的密钥等信息:

spring:
  ai:
    dashscope:
      api-key: ${通义千问的key}
      chat:
        options:
          model: qwen-max

通义千问的key可以直接去官网 去申请,模型我们用的是通义千问-Max。 3) 初始化聊天客户端

@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<String> generateStreamAsString(@RequestBody AskRequest request) {

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

    }

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.