# Nếu nó nói MCP, nó nói Maguyva.

Canonical source: https://maguyva.ai/vi/for-anything

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Sự tích hợp không nằm ở từng công cụ — nó nằm ở giao thức. Maguyva là một MCP server chuẩn tại một URL duy nhất, để dù agent của bạn chạy trong công cụ nào (Claude Code, Codex, Cursor, Gemini, Devin Desktop, Antigravity, Zed, Cline, hoặc một thứ gì đó bạn tự xây dựng) đều nhận được cùng một bản đồ có thể truy vấn của repo bạn. Lập chỉ mục một lần, và mọi client bạn kết nối đều đặt cùng những câu hỏi có căn cứ.

> Một MCP server. Mọi client. Không plugin riêng cho từng công cụ, không bị ràng buộc vào nhà cung cấp.

## Mỗi lớp làm gì

Bốn mảnh ghép. Mỗi mảnh có một nhiệm vụ.

### Bất kỳ MCP client nào

23 client đã có tài liệu hướng dẫn, bao gồm Claude Code, Codex CLI, Gemini CLI, Cursor, Devin Desktop, Antigravity, hoặc agent tự viết của riêng bạn.

### MCP

Chuẩn mở mà tất cả các client này đều hỗ trợ.

### Maguyva

Một MCP server duy nhất. Dữ kiện repo có căn cứ thật, trả về kèm file:line.

### Workspace, không phải từng người dùng

Không tính phí riêng cho từng agent. [Xem bảng giá](https://maguyva.ai/vi/pricing)

## MCP chính là sự tích hợp. Hãy chuẩn hóa theo nó.

Giao thức mở là lựa chọn đúng đắn, không phải một giải pháp tình thế. Xây dựng trên [MCP](https://modelcontextprotocol.io/docs/getting-started/intro) thay vì một plugin riêng cho từng công cụ chính là cách bạn tránh phải tích hợp lại mỗi khi có một agent tốt hơn ra mắt. Đây là nơi đúng cho:

- Một khối cấu hình server duy nhất, chạy được trên mọi client tuân thủ chuẩn.
- Các công cụ và tài nguyên có thể di chuyển giữa các trình soạn thảo, CLI, và agent.
- Một ranh giới mà đội bảo mật của bạn chỉ cần review một lần, không phải theo từng nhà cung cấp.
- Tự do chuyển đổi client mà không cần xây dựng lại toàn bộ ngăn xếp ngữ cảnh.

Cứ tiếp tục làm vậy. Chuẩn hóa theo MCP chính là nước đi đúng.

Nhưng một giao thức chỉ là một đường ống. Nó mang câu hỏi và câu trả lời — nó không *biết* codebase của bạn. Phải có thứ gì đó ở đầu bên kia thực sự ánh xạ ký hiệu, call-site, và phụ thuộc của bạn.

## Nơi ngữ cảnh riêng cho từng công cụ ngừng mở rộng được

Bốn kiểu thất bại mà không tệp rules của agent đơn lẻ nào có thể khắc phục.

### // mỗi công cụ đều phải làm quen lại từ đầu

Chọn một agent mới và nó lại bắt đầu mù tịt về repo của bạn. Bạn phải dán lại các tệp giống nhau, ghim lại cùng một ngữ cảnh, viết lại cùng những rules đó. Công sức không được kế thừa vì nó chưa bao giờ là một lớp dùng chung.

### // tệp rules không đi theo bạn

`CLAUDE.md`, `.cursor/rules`, `AGENTS.md` — mỗi tệp chỉ dành riêng cho một công cụ, và không cái nào là một chỉ mục có thể truy vấn của mã bạn. Chuyển client và bản đồ bạn xây bằng tay sẽ bị bỏ lại.

### // bị ràng buộc bởi tích hợp là một loại thuế

Gắn sâu ngữ cảnh codebase vào plugin của một nhà cung cấp nghĩa là ngày bạn thử một agent khác, bạn phải xây dựng lại từ đầu. Ngữ cảnh của bạn càng tốt, chi phí để rời đi càng cao.

### // giao thức là một đường ống, không phải bản đồ

MCP di chuyển công cụ và ngữ cảnh giữa client và server. Nó không biết ký hiệu, call-site, hay đồ thị phụ thuộc của bạn. Phải có thứ gì đó ở đầu bên kia thực sự trả lời câu hỏi.

## Maguyva là lớp ở đầu bên kia của giao thức

Không phải một agent khác. Đây là server ngữ cảnh repo mà bất kỳ MCP client nào cũng có thể gọi tới:

- **Một endpoint, mọi client**: cùng một `https://maguyva.tools/mcp` phục vụ Claude Code, Codex CLI, Gemini CLI, Cursor, Devin Desktop, Antigravity, hoặc một script bạn vừa viết sáng nay.
- **Ngữ nghĩa + AST + đồ thị + văn bản**: tìm theo ý nghĩa, cấu trúc, phụ thuộc, hoặc văn bản thuần. Mỗi kết quả đều trả về đường dẫn file và số dòng, bất kể client nào yêu cầu.
- **Nhận biết branch, xuyên suốt package**: Maguyva nhìn thấy đúng phiên bản code mà agent đang chỉnh sửa, trên mọi package trong monorepo.
- **Không ràng buộc nhà cung cấp**: đổi agent bất cứ lúc nào bạn muốn; lớp context vẫn giữ nguyên. Tính phí theo workspace, không theo người dùng — lập chỉ mục 1 repo hay 50 repo.

> Client của bạn nói MCP.
> Maguyva là thứ trả lời *khi nó hỏi về mã của bạn.*

## Ba quy trình làm việc, giống hệt nhau từ mọi client

Xuyên package, xuyên ngôn ngữ. Client thay đổi; câu trả lời có căn cứ thì không.

### 01. Tìm luồng auth xuyên package, từ bất kỳ agent nào

```text
agent> xác thực xảy ra ở đâu trong monorepo này?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           xác thực token
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  kiểm tra quyền rbac

→ 4 điểm vào trên 4 package, xếp hạng theo mật độ call-site.
[exit 0]
```

Claude Code, Cursor, hay script tự viết của bạn — không quan trọng client nào gửi truy vấn. Cùng bốn tệp đó trả về theo cùng thứ tự xếp hạng, có căn cứ vào đồ thị thực tế.

### 02. Tìm cài đặt thực sự, chứ không phải test stub

```text
agent> normalizePhoneNumber xử lý E.164 như thế nào?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← cài đặt thực
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]
```

Tên gọi có thể lừa dối. Mock che khuất mã thực. Maguyva xếp hạng cài đặt thực cao hơn test mock — theo cùng một cách cho mọi client hỏi tới.

### 03. Kiểm tra phạm vi ảnh hưởng trước khi tái cấu trúc

```text
agent> điều gì gọi QueueDispatcher.publish trên toàn monorepo?

graph::callers(QueueDispatcher.publish)
  3 in packages/billing/*
  1 in packages/audit/*
  1 in packages/notifications/*
  1 in services/python-worker/*  ← xuyên ngôn ngữ qua gRPC stub
[exit 0]
```

Xuyên package, và xuyên ngôn ngữ trên một repo đa ngôn ngữ, call-site hiện ra ngay trong dòng kết quả. Đổi agent vào ngày mai thì phạm vi ảnh hưởng vẫn còn đó, vì nó nằm ở server, không phải ở client.

## Cài đặt với bất kỳ MCP client nào

Ba bước. Gói Free: 3 repository, Tối đa 50K dòng repo đã index, không cần thẻ tín dụng.

### 01. Lập chỉ mục một repo tại maguyva.ai

Chọn một repo bạn nắm rõ để có thể tự kiểm chứng câu trả lời. Gói Free bao gồm 3 repository, Tối đa 50K dòng repo đã index.

### 02. Thêm Maguyva làm MCP server trong bất kỳ client nào bạn dùng

```json
{
  "mcpServers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. Đặt một câu hỏi mà bạn đã biết câu trả lời

Hãy bắt đầu với một repo và một câu hỏi có thể kiểm chứng, như “điều gì gọi `formatInvoice` xuyên package?” Nếu câu trả lời khớp với điều bạn sẽ nói, mọi client khác mà bạn trỏ vào đó cũng sẽ nhận được cùng một kết quả có căn cứ.

Hướng dẫn riêng cho từng client (Claude Code, Codex, Cursor, Gemini, Devin Desktop, Antigravity, và nhiều hơn nữa) nằm trong [tài liệu tương thích của Maguyva](https://maguyva.ai/vi/docs/compatibility).

## Lập chỉ mục một repo mà bạn đã biết rõ.

Kết nối bất kỳ MCP client nào. Đặt một câu hỏi mà bạn có thể xác minh câu trả lời.

## Nguồn

- [MCP: giới thiệu chính thức](https://modelcontextprotocol.io/docs/getting-started/intro)
- [MCP: các client mẫu](https://modelcontextprotocol.io/clients)
- [Maguyva: khả năng tương thích & client](https://maguyva.ai/vi/docs/compatibility)
- [Maguyva: ngăn xếp công nghệ & bảo mật](https://maguyva.ai/vi/stack)
- [Maguyva: bảng giá (theo workspace, không theo người dùng)](https://maguyva.ai/vi/pricing)
