Google Scholar Search Server
搜索与获取by mochow13
通过标准化 MCP 接口查询 Google Scholar,提供学术论文搜索、实时流式结果与多会话支持,便于与 AI 模型无缝集成。
什么是 Google Scholar Search Server?
通过标准化 MCP 接口查询 Google Scholar,提供学术论文搜索、实时流式结果与多会话支持,便于与 AI 模型无缝集成。
核心功能 (1 个工具)
search_google_scholarSearch Google Scholar for academic papers and research articles. Supports filtering by author, publication year range, and returns structured results with titles, authors, abstracts, and URLs.
README
Google Scholar MCP Server
A Model Context Protocol (MCP) server that provides Google Scholar search capabilities through a streamable HTTP transport. This project demonstrates how to build an MCP server with custom tools and integrate it with AI models like Google's Gemini.
Overview
This project consists of two main components:
- MCP Server: Provides Google Scholar search tools via HTTP endpoints
- MCP Client: Integrates with Google Gemini AI to process queries and call tools
Architecture
MCP Server Implementation
The server is built using the @modelcontextprotocol/sdk and implements:
- Transport: StreamableHTTPServerTransport for HTTP-based communication
- Session Management: Supports multiple simultaneous connections with session IDs
- Tool System: Extensible tool registration and execution framework
- Error Handling: Comprehensive error responses and logging
Available Tools
The server currently provides one main tool:
search_google_scholar
- Description: Search Google Scholar for academic papers and research
- Parameters: Configurable search parameters (query, filters, etc.)
- Returns: Structured search results with paper details
Transport Protocol
The server uses StreamableHTTPServerTransport which supports:
- HTTP POST: For sending requests and receiving responses
- HTTP GET: For establishing Server-Sent Events (SSE) streams
- Session Management: Persistent connections with unique session IDs
- Real-time Notifications: Streaming updates via SSE
Smithery
The server is now available in Smithery: Google Scholar Search Server
Installation
Installing via Smithery
To install google-scholar-mcp for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @mochow13/google-scholar-mcp --client claude
- Clone the repository:
git clone <repository-url>
cd google-scholar-mcp
- Install and build:
cd server
npm install
npm run build
cd client
npm install
npm run build
Running the Server
- Start the MCP server:
cd server
node build/index.js
The server will start on port 3000 and provide the following endpoints:
POST /mcp- Main MCP communication endpointGET /mcp- SSE stream endpoint for real-time updates
Server Features
- Multi-session Support: Handle multiple clients simultaneously
- Graceful Shutdown: Proper cleanup on SIGINT
- Logging: Comprehensive request/response logging
- Error Handling: Structured JSON-RPC error responses
Running the Client
The client demonstrates how to integrate the MCP server with Google's Gemini AI model.
-
Ensure you have a valid
GEMINI_API_KEYand provide it withexport GEMINI_API_KEY=<your-key> -
Start the client:
cd client
node build/index.js
- The client will connect to the server and start an interactive chat loop
Client Features
Conversation Management
- Persistent Context: Maintains full conversation history across queries
- Multi-turn Conversations: Supports back-and-forth dialogue with context
- Function Call Integration: Seamlessly integrates tool calls into conversation flow
AI Integration
- Gemini 2.5 Flash: Uses Google's latest language model
- Tool Discovery: Automatically discovers and registers available MCP tools
- Function Calling: Converts MCP tools to Gemini function declarations
Interactive Features
- Chat Loop: Continuous conversation interface
- History Management: View and clear conversation history
- Graceful Exit: Type 'quit' to exit cleanly
Usage Example
Query: Find recent papers about machine learning in healthcare
[Called tool search_google_scholar with args {"query":"machine learning healthcare recent"}]
Based on the search results, here are some recent papers about machine learning in healthcare:
1. "Deep Learning Applications in Medical Imaging" - This paper explores...
2. "Predictive Analytics in Patient Care" - Research on using ML for...
...
Query: What about specifically for diagnostic imaging?
[Called tool search_google_scholar with args {"query":"machine learning diagnostic imaging healthcare"}]
Here are papers specifically focused on diagnostic imaging applications:
...
Development
Project Structure
├── server/
│ ├── src/
│ │ ├── index.ts # Express server setup
│ │ ├── server.ts # MCP server implementation
│ │ └── tools.ts # Tool definitions and handlers
├── client/
│ └── index.ts # MCP client with Gemini integration
└── package.json
Key Components
MCPServer Class (server/src/server.ts)
- Manages MCP server lifecycle
- Handles HTTP requests and SSE streams
- Implements tool registration and execution
- Manages multiple client sessions
MCPClient Class (client/index.ts)
- Connects to MCP server via HTTP transport
- Integrates with Google Gemini AI
- Manages conversation history and context
- Handles function calling workflow
Adding New Tools
- Define your tool schema in
server/src/tools.ts:
export const myNewTool = {
name: "my_new_tool",
description: "Description of what the tool does",
inputSchema: {
type: "object",
properties: {
// Define parameters
}
}
};
- Implement the tool handler:
export async function callMyNewTool(args: any) {
// Tool implementation
return {
content: [
{
type: "text",
text: "Tool result"
}
]
};
}
- Register the tool in the server setup
Configuration
Environment Variables
GEMINI_API_KEY: Required for client AI integrationPORT: Server port (defaults to 3000)
Server Configuration
The server can be configured with different capabilities:
- Tools: Enable/disable tool support
- Logging: Configure logging levels
- Transport: Customize transport settings
Error Handling
The system includes comprehensive error handling:
- Server Errors: JSON-RPC compliant error responses
- Transport Errors: Connection and stream error handling
- Tool Errors: Graceful tool execution error handling
- Client Errors: AI model and function calling error handling
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License
Support
For issues and questions:
- Check the MCP SDK documentation
- Review the Google AI SDK documentation
- Open an issue in this repository
常见问题
Google Scholar Search Server 是什么?
通过标准化 MCP 接口查询 Google Scholar,提供学术论文搜索、实时流式结果与多会话支持,便于与 AI 模型无缝集成。
Google Scholar Search Server 提供哪些工具?
提供 1 个工具,包括 search_google_scholar。
相关 MCP Server
Brave 搜索
编辑精选by Anthropic
Brave Search 是让 Claude 直接调用 Brave 搜索 API 获取实时网络信息的 MCP 服务器。
✎ 如果你想让 AI 助手帮你搜索最新资讯或技术文档,这个工具能绕过传统搜索的限制,直接返回结构化数据。特别适合需要实时信息的开发者,比如查 API 更新或竞品动态。不过它依赖 Brave 的 API 配额,高频使用可能受限。
Puppeteer 浏览器控制
编辑精选by Anthropic
Puppeteer 是让 Claude 自动操作浏览器进行网页抓取和测试的 MCP 服务器。
✎ 这个服务器解决了手动编写 Puppeteer 脚本的繁琐问题,适合需要自动化网页交互的开发者,比如抓取动态内容或做端到端测试。不过,作为参考实现,它可能缺少生产级的安全防护,建议在可控环境中使用。
网页抓取
编辑精选by Anthropic
Fetch 是 MCP 官方参考服务器,让 AI 能抓取网页并转为 Markdown 格式。
✎ 这个服务器解决了 AI 直接处理网页内容时格式混乱的问题,适合需要让 Claude 分析在线文档或新闻的开发者。不过作为参考实现,它缺乏生产级的安全配置,你得自己处理反爬虫和隐私风险。