Hãy tưởng tượng việc mang lại siêu năng lực cho Cursor IDE của bạn - như tự động tìm kiếm trên web hoặc phân tích tài liệu của bạn mà không rời khỏi trình soạn thảo của bạn. Trong hướng dẫn này, chúng ta sẽ đi qua việc tạo một máy chủ MCP (Giao thức Ngữ cảnh Mô hình) tùy chỉnh mà thêm những khả năng này vào Cursor.

Tại sao cần xây dựng một máy chủ MCP tùy chỉnh?
Các máy chủ MCP cho phép bạn mở rộng chức năng của Cursor vượt xa các tính năng tích hợp sẵn của nó. Với máy chủ MCP của riêng bạn, bạn có thể:
- Thêm khả năng tìm kiếm trên web
- Tạo công cụ để phân tích tài liệu của bạn (RAG)
- Kết nối với các API chuyên biệt
- Xây dựng quy trình làm việc AI tùy chỉnh
Các cập nhật gần đây giúp việc phát triển máy chủ MCP dễ dàng hơn bao giờ hết - hoàn hảo cho người mới bắt đầu!
Bước 1: Thiết lập Môi trường Phát triển của bạn
Yêu cầu trước khi bắt đầu
Trước khi bắt đầu, hãy đảm bảo bạn có:
- Cursor IDE (phiên bản mới nhất)
- Python 3.8+ đã được cài đặt
- UV package manager (chúng ta sẽ cài đặt bên dưới)
- Sự quen thuộc cơ bản với các lệnh terminal
Lấy Mẫu Khởi đầu
Chúng ta sẽ sử dụng một mẫu có sẵn để bắt đầu nhanh chóng:
- Clone kho lưu trữ:
git clone https://github.com/patchy631/ai-engineering-hub/tree/main/cursor_linkup_mcp
- Mở thư mục trong Cursor IDE
Bước 2: Thiết lập Máy chủ MCP trong Cursor
Trong Cursor, đi đến:
Settings > Cursor Settings > MCP > Thêm Máy chủ MCP Mới

Cấu hình máy chủ của bạn:
- Tên: Đặt tên mô tả cho nó (ví dụ: "twitter-demo")
- Lệnh: Chúng ta sẽ sử dụng trình quản lý gói UV

Nếu bạn chưa cài đặt UV:
pip install uv
Đặt lệnh để chạy máy chủ của bạn:
uv --directory /path/to/cursor_linkup_mcp run server.py
(Thay thế /path/to/
bằng vị trí thực tế nơi bạn đã clone kho lưu trữ)
Nhấn "Thêm" để lưu cấu hình của bạn

Bước 3: Kiểm tra Các Công cụ Mới của Bạn
Bây giờ máy chủ của bạn đã được thiết lập, hãy thử nghiệm khả năng của nó:
1. Công cụ Tìm kiếm Web
Công cụ này cho phép Cursor tìm kiếm trên web để tìm câu trả lời cho các câu hỏi của bạn.
Cách sử dụng:
- Mở một cuộc trò chuyện mới ở chế độ "Đại lý"

2. Đặt một câu hỏi yêu cầu tìm kiếm trên web, chẳng hạn như:
>> Ai đã thắng trận cricket gần đây nhất giữa Ấn Độ và Úc?

3. Cursor sẽ sử dụng máy chủ MCP của bạn để tìm và hiển thị câu trả lời

2. Công cụ Phân tích Tài liệu (RAG)
Công cụ này cho phép Cursor phân tích tài liệu cá nhân của bạn.
Cách thiết lập:
- Trong kho lưu trữ đã clone, tìm thư mục
data

2. Thêm bất kỳ tài liệu nào bạn muốn phân tích (PDF, file Word, v.v.)
3. Trong cuộc trò chuyện, đặt câu hỏi về tài liệu của bạn:
>> Tóm tắt các điểm chính từ file của tôi về cách DeepSeek R1 được đào tạo.

Xem kết quả:

Cách nó hoạt động ở bên trong
Máy chủ MCP của bạn hoạt động như một cầu nối giữa Cursor và các dịch vụ bên ngoài:
- Khi bạn đặt một câu hỏi, Cursor gửi nó đến máy chủ MCP của bạn
- Máy chủ xử lý yêu cầu (tìm kiếm trên web hoặc phân tích tài liệu)
- Kết quả được gửi lại cho Cursor để hiển thị
Hiểu mã máy chủ MCP
Đoạn mã Python này tạo ra một máy chủ MCP (Giao thức Ngữ cảnh Mô hình) tùy chỉnh mà thêm hai công cụ AI mạnh mẽ vào Cursor: tìm kiếm web và phân tích tài liệu (RAG). Hãy cùng phân tích chức năng của từng phần:
1. Nhập khẩu các Phụ thuộc
import asyncio
from dotenv import load_dotenv
from linkup import LinkupClient
from rag import RAGWorkflow
from mcp.server.fastmcp import FastMCP
asyncio
: Cho phép các hoạt động không đồng bộ (quan trọng để xử lý nhiều yêu cầu một cách hiệu quả)dotenv
: Tải các biến môi trường (như API keys) từ file.env
LinkupClient
: Xử lý chức năng tìm kiếm webRAGWorkflow
: Quản lý phân tích tài liệu (Phân tích Tăng cường Kiến thức)FastMCP
: Khung máy chủ MCP chính
2. Thiết lập Ban đầu
load_dotenv()
mcp = FastMCP('linkup-server')
client = LinkupClient()
rag_workflow = RAGWorkflow()
load_dotenv()
: Tải cấu hình nhạy cảm (như API keys) từ file.env
mcp
: Tạo một phiên bản máy chủ MCP chính có tên là "linkup-server"client
: Khởi tạo công cụ tìm kiếm webrag_workflow
: Chuẩn bị hệ thống phân tích tài liệu
3. Công cụ Tìm kiếm Web
@mcp.tool()
def web_search(query: str) -> str:
"""Tìm kiếm trên web với truy vấn đã cho."""
search_response = client.search(
query=query,
depth="standard", # "standard" hoặc "deep"
output_type="sourcedAnswer", # Tùy chọn: "searchResults", "sourcedAnswer", hoặc "structured"
structured_output_schema=None, # Cần thiết nếu output_type="structured"
)
return search_response
Chức năng:
- Thêm một công cụ có tên
web_search
vào Cursor IDE của bạn - Nhận một truy vấn tìm kiếm
query
(chẳng hạn như "thời tiết hiện tại ở Paris") - Có thể thực hiện các loại tìm kiếm khác nhau:
standard
so vớideep
(độ sâu mà tìm kiếm cần thực hiện)- Trả về kết quả thô (
searchResults
) hoặc những câu trả lời đã chế biến (sourcedAnswer
) - Trả về kết quả tìm kiếm cho Cursor
Ví dụ sử dụng trong Cursor:
/web_search query="Ai đã thắng World Cup Cricket 2023?"
4. Công cụ Phân tích Tài liệu (RAG)
@mcp.tool()
async def rag(query: str) -> str:
"""Sử dụng RAG để trả lời các truy vấn dựa trên tài liệu trong thư mục dữ liệu"""
response = await rag_workflow.query(query)
return str(response)
Chức năng:
- Tạo một công cụ có tên
rag
(Phân tích Tăng cường Kiến thức) - Phân tích các tài liệu bạn đã đặt trong thư mục
/data
- Trả lời các câu hỏi dựa trên các tài liệu đó
- Hoạt động không đồng bộ để cải thiện hiệu suất với các tệp lớn
Ví dụ sử dụng trong Cursor:
/rag query="Các khuyến nghị an toàn chính trong tài liệu AI này là gì?"
5. Khởi động Máy chủ
if __name__ == "__main__":
asyncio.run(rag_workflow.ingest_documents("data"))
mcp.run(transport="stdio")
Điều gì xảy ra khi bạn chạy đoạn mã này:
- Trước tiên tải tất cả các tài liệu từ thư mục
data
vào bộ nhớ - Bắt đầu máy chủ MCP bằng giao tiếp stdio (đầu vào/đầu ra tiêu chuẩn)
- Đưa cả hai công cụ vào sẵn có cho Cursor

Các Tính năng Chính của Việc Triển khai Máy chủ MCP
- Bảo mật: Sử dụng
.env
cho dữ liệu nhạy cảm - Linh hoạt: Cung cấp các chế độ tìm kiếm khác nhau (cơ bản/sâu)
- Xử lý Tại Chỗ: Phân tích tài liệu cá nhân của bạn mà không gửi lên đám mây
- Hiệu suất: Sử dụng các hoạt động không đồng bộ cho trải nghiệm mượt mà
Cách Cursor Sử dụng Máy chủ Này
- Bạn nhập một lệnh trong Cursor (như
/web_search
) - Cursor gửi truy vấn của bạn đến máy chủ đang chạy này
- Máy chủ xử lý nó (tìm kiếm trên web hoặc phân tích tài liệu)
- Kết quả được trả lại cho Cursor và hiển thị cho bạn
Điều này biến Cursor IDE của bạn thành một trợ lý nghiên cứu mạnh mẽ có thể đồng thời tìm kiếm trên web và phân tích tài liệu cá nhân của bạn - tất cả thông qua các lệnh trò chuyện đơn giản!
Mẹo Khắc phục sự cố
Nếu có gì đó không hoạt động:
- Kiểm tra xem lệnh UV có chỉ đến đúng vị trí không
- Đảm bảo tất cả các phụ thuộc đã được cài đặt (chạy
pip install -r requirements.txt
) - Kiểm tra xem phiên bản Python của bạn có phải là 3.8 trở lên không
- Kiểm tra nhật ký lỗi của Cursor nếu máy chủ không thể khởi động
Các Bước Tiếp Theo:
Bây giờ bạn đã có một máy chủ MCP cơ bản đang chạy, bạn có thể:
- Thêm nhiều công cụ hơn (như tích hợp API Twitter)
- Tùy chỉnh các tham số tìm kiếm trên web
- Cải thiện phân tích tài liệu với các lời nhắc tốt hơn
- Chia sẻ máy chủ của bạn với các đồng đội
Suy nghĩ Cuối cùng
Xây dựng máy chủ MCP đầu tiên của bạn có thể có vẻ khó khăn, nhưng như bạn đã thấy, mẫu đã giúp điều này trở nên đơn giản hơn. Trong chưa đầy 30 phút, bạn đã thêm những khả năng mạnh mẽ mới cho Cursor sẽ tiết kiệm cho bạn hàng giờ làm việc thủ công.
Bạn sẽ xây dựng gì tiếp theo? Có thể là một công cụ để:
- Kiểm tra giá cổ phiếu
- Tìm kiếm qua cơ sở mã của bạn
- Gen các bài viết cho mạng xã hội
Các khả năng là vô tận! Hãy nhớ rằng, mọi chuyên gia trước đây đều là người mới bắt đầu - bạn vừa mới thực hiện bước đầu tiên vào thế giới phát triển máy chủ MCP.
Và trong khi bạn đang làm, đừng quên kiểm tra Apidog để tăng tốc quy trình làm việc phát triển MCP và API của bạn! 🚀