面试鸭 MCP Server

面试鸭 MCP Server

By yuyuanweb GitHub

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

mcp interview-questions
Overview

What is 面试鸭 MCP Server?

面试鸭 MCP Server is a service based on Spring AI that allows for quick searching of real interview questions and answers from companies using the MCP protocol.

How to use 面试鸭 MCP Server?

To use the MCP Server, clone the repository, build the project using Maven, and configure it in your Java environment. You can then integrate it with any intelligent assistant that supports the MCP protocol.

Key features of 面试鸭 MCP Server?

  • Fast search for interview questions and answers.
  • Compatibility with various intelligent assistants via MCP protocol.
  • Easy integration with Java SDK.

Use cases of 面试鸭 MCP Server?

  1. Assisting job seekers in preparing for interviews by providing relevant questions.
  2. Enabling AI assistants to fetch interview questions dynamically.
  3. Supporting developers in building interview preparation tools.

FAQ from 面试鸭 MCP Server?

  • What is the MCP protocol?

The MCP protocol is a standard for communication between intelligent agents and servers, allowing for efficient data exchange.

  • Is there a specific Java version required?

Yes, Java 17 is required to run the MCP Server.

  • Can I use this server with any AI model?

Yes, as long as the model supports the MCP protocol, you can integrate it.

Content

面试鸭 MCP Server

简介

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

依赖MCP Java SDK开发,任意支持MCP协议的智能体助手(如ClaudeCursor以及千帆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]"));

    }
No tools information available.

This is a basic MCP Server-Client Impl using SSE

mcp server-client
View Details

-

mcp model-context-protocol
View Details

Buttplug.io Model Context Protocol (MCP) Server

mcp buttplug
View Details

MCP web search using perplexity without any API KEYS

mcp puppeteer
View Details

free MCP server hosting using vercel

mcp mantle-network
View Details

MCPHubs is a website that showcases projects related to Anthropic's Model Context Protocol (MCP)

mcp mcp-server
View Details