Coding cho Marketer: Clone MCP trong 30 phút

Hướng dẫn marketer tự clone và tùy chỉnh MCP server trong 30 phút không cần kinh nghiệm lập trình.

Coding cho Marketer: Clone MCP trong 30 phút

Lập trình cho nhà tiếp thị: Hướng dẫn từng bước với AI Coding Tools

Bạn là một marketer và nghĩ rằng lập trình là công việc của dân kỹ thuật? Hãy nghĩ lại! Với sự hỗ trợ của AI, bất kỳ ai cũng có thể tự tay xây dựng những công cụ hỗ trợ công việc của mình.

MCP là gì và tại sao bạn cần quan tâm?

MCP (Model Context Protocol) là một giao thức cho phép AI agent kết nối với các công cụ và dịch vụ bên ngoài. Nói đơn giản, MCP giúp AI có thể thực hiện các tác vụ thực tế như gửi email, tạo file, hoặc tương tác với các ứng dụng khác.

Tip: MCP đặc biệt hữu ích cho marketer vì nó cho phép tự động hóa nhiều tác vụ lặp đi lặp lại.

Chuẩn bị môi trường

Trước khi bắt đầu, bạn cần cài đặt một số công cụ cơ bản:

# Cài đặt Node.js
# Tải từ https://nodejs.org

# Kiểm tra cài đặt
node --version

# Cài đặt MCP SDK
npm install -g @modelcontextprotocol/sdk
# Cài đặt Node.js
# Tải từ https://nodejs.org

# Kiểm tra cài đặt
node --version

# Cài đặt MCP SDK
yarn global add @modelcontextprotocol/sdk
# Cài đặt Node.js
# Tải từ https://nodejs.org

# Kiểm tra cài đặt
node --version

# Cài đặt MCP SDK
pnpm add -g @modelcontextprotocol/sdk

Yêu cầu hệ thống

  • Node.js phiên bản 18 trở lên
  • npm hoặc yarn
  • Một IDE như VS Code

Clone MCP Template

Thay vì viết từ đầu, chúng ta sẽ clone một template có sẵn và tùy chỉnh theo nhu cầu:

# Clone template
git clone https://github.com/openclaw/mcp-template my-mcp

# Di chuyển vào thư mục dự án
cd my-mcp

# Cài đặt dependencies
npm install

Cấu trúc dự án

Sau khi clone, bạn sẽ thấy cấu trúc thư mục như sau:

my-mcp/
├── src/
│   └── index.ts          # File chính
├── package.json
├── tsconfig.json
└── README.md

Tùy chỉnh MCP Server

Đây là bước quan trọng nhất. Bạn cần định nghĩa các tools mà MCP server sẽ cung cấp:

import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';

const server = new Server(
  {
    name: 'marketing-mcp',
    version: '1.0.0',
  },
  {
    capabilities: {
      tools: {},
    },
  }
);

// Định nghĩa các tools
server.setRequestHandler('tools/list', async () => {
  return {
    tools: [
      {
        name: 'send_email',
        description: 'Gửi email marketing',
        inputSchema: {
          type: 'object',
          properties: {
            to: { type: 'string', description: 'Địa chỉ email người nhận' },
            subject: { type: 'string', description: 'Tiêu đề email' },
            body: { type: 'string', description: 'Nội dung email' },
          },
          required: ['to', 'subject', 'body'],
        },
      },
    ],
  };
});
Lưu ý: Hãy đảm bảo bạn hiểu rõ các tools mình định nghĩa để tránh các rủi ro bảo mật.

Chạy MCP Server

Sau khi hoàn tất cấu hình, hãy chạy server:

# Chạy ở chế độ development
npm run dev
# Build và chạy production
npm run build
npm start

Kết nối với OpenClaw

Để sử dụng MCP server với OpenClaw, bạn cần thêm cấu hình vào file cấu hình:

{
  "mcpServers": {
    "marketing-tools": {
      "command": "node",
      "args": ["/path/to/my-mcp/dist/index.js"],
      "env": {
        "API_KEY": "your-api-key"
      }
    }
  }
}

Các trường hợp sử dụng cho Marketer

1. Tự động hóa email marketing

Với MCP, bạn có thể tạo các kịch bản gửi email tự động dựa trên hành vi của khách hàng:

// Tạo tool gửi email tự động
async function sendWelcomeEmail(customerEmail: string, customerName: string) {
  const emailContent = `
    Xin chào ${customerName},
    
    Cảm ơn bạn đã đăng ký!
    
    Chúng tôi rất vui được có bạn.
  `;
  
  return await sendEmail({
    to: customerEmail,
    subject: 'Chào mừng bạn!',
    body: emailContent
  });
}

2. Tạo báo cáo tự động

Tự động tổng hợp dữ liệu từ nhiều nguồn và gửi báo cáo hàng ngày:

// Tool tạo báo cáo
async function generateDailyReport() {
  // Lấy dữ liệu từ các nguồn
  const analytics = await getAnalytics();
  const sales = await getSalesData();
  const campaigns = await getCampaignPerformance();
  
  // Tạo báo cáo
  const report = formatReport({ analytics, sales, campaigns });
  
  // Gửi email
  await sendEmail({
    to: 'marketing-team@company.com',
    subject: 'Báo cáo hàng ngày',
    body: report
  });
  
  return 'Báo cáo đã được gửi thành công';
}

3. Quản lý social media

Đăng bài tự động lên nhiều platform cùng lúc:

// Tool đăng bài lên social media
async function publishSocialPost(platforms: string[], content: string, media?: string[]) {
  const results = [];
  
  for (const platform of platforms) {
    const result = await postToPlatform(platform, content, media);
    results.push({ platform, status: result.success });
  }
  
  return results;
}

Best Practices

Khuyến nghị: Luôn kiểm tra kỹ các tools trước khi deploy lên production.

1. Bảo mật

  • Không hardcode API keys trong code
  • Sử dụng environment variables
  • Validate input từ users
  • Implement rate limiting

2. Error Handling

try {
  // Thực hiện operation
  await performOperation();
} catch (error) {
  // Log error
  console.error('Operation failed:', error);
  
  // Gửi thông báo lỗi
  await notifyAdmin(error);
  
  // Return safe error message
  return { error: 'Đã xảy ra lỗi. Vui lòng thử lại sau.' };
}

3. Monitoring

Theo dõi hoạt động của MCP server để phát hiện vấn đề sớm:

// Logging
function logOperation(operation: string, success: boolean, duration: number) {
  console.log(JSON.stringify({
    timestamp: new Date().toISOString(),
    operation,
    success,
    duration
  }));
}

Kết luận

Với MCP, bạn không cần trở thành một lập trình viên để tự động hóa công việc marketing. Chỉ với 30 phút và một chút kiến thức cơ bản về lập trình, bạn có thể xây dựng những công cụ mạnh mẽ hỗ trợ công việc hàng ngày.

Bước tiếp theo: Hãy thử clone template và tạo một MCP server đơn giản cho riêng bạn!

Tài nguyên bổ sung

← Xem tất cả bài viết