Duyet MCP Server

Duyet MCP Server

An experimental Model Context Protocol server that enables AI assistants to access information about Duyet, including his CV, blog posts, and GitHub activity through natural language queries.

Category
访问服务器

README

duyet-mcp-server

CI/CD Pipeline codecov Security

An experimental MCP (Model Context Protocol) server that helps AI assistants connect to and retrieve information about duyet. This server provides access to information primarily available at https://duyet.net, making it available directly to your AI assistant.

Usage: Update MCP server configuration in your AI assistant:

{
  "mcpServers": {
    "duyet-mcp-server": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.duyet.net/sse"
      ]
    }
  }
}

If you are using Claude Code:

claude mcp add --transport http duyet https://mcp.duyet.net/mcp

Endpoints:

  • https://mcp.duyet.net/sse
  • https://mcp.duyet.net/mcp

About This Project

This is a study, demo, and experimental project designed to explore MCP capabilities. The project serves as a learning exercise in building remote MCP servers and is mostly written by LLM as well.

Purpose: Enable AI assistants to access and retrieve information about duyet's work, projects, and content that would otherwise require manual web browsing.

Deploy to Cloudflare Workers

Deploy to Workers

This will deploy your MCP server to a URL like: duyet-mcp-server.<your-account>.workers.dev/sse

Alternatively, you can clone and deploy using the command line:

git clone https://github.com/duyet/duyet-mcp-server
cd duyet-mcp-server
npm install
npm run deploy

Customizing Your MCP Server

To add your own tools to the MCP server, define each tool inside the init() method of src/index.ts using this.server.tool(...).

Connect to Cloudflare AI Playground

You can test your MCP server using the Cloudflare AI Playground:

  1. Go to https://playground.ai.cloudflare.com/
  2. Enter your deployed MCP server URL (duyet-mcp-server.<your-account>.workers.dev/sse or duyet-mcp-server.<your-account>.workers.dev/mcp)
  3. You can now use the duyet information tools directly from the playground!

Connect Claude Desktop to Your MCP Server

You can connect to your remote MCP server from Claude Desktop using the mcp-remote proxy.

To connect from Claude Desktop, follow Anthropic's Quickstart and go to Settings > Developer > Edit Config.

Update with this configuration:

{
  "mcpServers": {
    "duyet-info": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://duyet-mcp-server.<your-account>.workers.dev/sse"
      ]
    }
  }
}

You should see the duyet-mcp information tools become available.

Available Resources and Tools

This MCP server exposes both Resources (read-only data access via URIs) and Tools (interactive functions with parameters). Resources are automatically discovered by Claude Chat for natural conversation flow, while tools are used for actions that require user input.

Resources

Resources provide read-only access to information through URI-based requests. These are automatically discoverable by Claude Chat.

Core Information Resources

  • duyet://about - Basic information about Duyet with dynamically calculated years of experience
  • duyet://cv/{format} - CV/resume with format parameters:
    • duyet://cv/summary - Brief CV overview
    • duyet://cv/detailed - Comprehensive CV information
    • duyet://cv/json - Structured CV data (when available)

Content Resources

  • duyet://blog/posts/{limit} - Latest blog posts from Duyet's technical blog
    • duyet://blog/posts/1 - Latest blog post
    • duyet://blog/posts/5 - Latest 5 blog posts (limit: 1-10)
  • duyet://github-activity - Recent GitHub contributions and activity

Tools

Tools provide interactive functionality with input parameters and side effects.

  • send_message - Send a message to Duyet for collaboration, job opportunities, consulting, or general inquiries. Messages are saved with a reference ID for follow-up
  • get_cv - Retrieve Duyet's CV (curriculum vitae) in different formats - summary, detailed, or JSON format
  • get_github_activity - Retrieve Duyet's recent GitHub activity including commits, issues, pull requests, releases, and other public events. View up to 20 recent activities with optional detailed information
  • hire_me - Get information about hiring Duyet for various roles - full-time, contract, consulting, or part-time positions. Includes expertise, experience, and next steps
  • say_hi - Send a friendly greeting to Duyet with an optional personal message. Get contact information and connection links
  • contact_analytics - Generate analytics reports on contact submissions including summary statistics, purpose breakdown, daily trends, and recent activity patterns

Claude Chat Examples

Here are examples of natural conversation flows using this MCP server:

Learning About Duyet

User: Who is Duyet and what does he do?

Claude: [Automatically accesses duyet://about resource]
Duyet is a Data Engineer with 8 years of experience. He is confident in his knowledge of Data Engineering concepts, best practices and state-of-the-art data and Cloud technologies. You can check out his blog at https://blog.duyet.net, his CV at https://duyet.net/cv, and his projects at https://github.com/duyet.

User: What has he been writing about lately?

Claude: [Automatically accesses duyet://blog/posts/3 resource]  
His latest blog posts include topics on data engineering, cloud technologies, and distributed systems. Would you like me to show you more details about any specific post?

User: What's he working on currently?

Claude: [Automatically accesses duyet://github-activity resource]
Based on his recent GitHub activity, Duyet has been working on MCP server implementations, data pipeline projects, and contributing to open source tools for data engineering.

Hiring and Collaboration

User: I'm looking to hire a data engineer. Can you help me contact Duyet?

Claude: I can help you send a message to Duyet using the send_message tool. What type of opportunity is this?

User: It's a full-time position at our startup working with Kafka and Spark

Claude: [Uses send_message tool]
What would you like to say in your message to Duyet? I'll make sure to include that this is about a full-time position with Kafka and Spark technologies.

User: Hi Duyet, we're a Series A startup building real-time data platforms. We'd love to discuss a Senior Data Engineer role working with Kafka, Spark, and cloud infrastructure. Remote-friendly position with competitive equity.

Claude: [Executes send_message tool with the message]
Your message has been sent successfully! Here's your reference ID: abc-123-def for follow-up. Duyet can be reached directly at me@duyet.net, LinkedIn: https://linkedin.com/in/duyet, or GitHub: https://github.com/duyet.

Technical Research

User: I want to understand Duyet's technical background before our interview

Claude: [Automatically accesses duyet://cv/detailed resource]
Based on Duyet's detailed CV, he has 8 years of experience in data engineering with expertise in Apache Spark, Kafka, cloud platforms, and distributed systems. His experience includes building scalable data pipelines and working with modern data stack technologies.

User: Can you show me some of his recent technical work?

Claude: [Automatically accesses duyet://github-activity resource]
His recent GitHub activity shows contributions to data engineering projects, MCP server implementations, and open source tools. He's been actively working on distributed systems and cloud-native data solutions.

User: What kind of content does he write about?

Claude: [Automatically accesses duyet://blog/posts/5 resource]
His technical blog covers topics like building scalable data pipelines, modern data engineering best practices, cloud technologies, and distributed systems architecture.

Natural Discovery Pattern

The key advantage of this MCP server design is that Claude Chat can naturally discover and reference information through resources, making conversations more fluid:

  1. Information QuestionsAutomatic Resource Access

    • "Who is Duyet?" → duyet://about
    • "What's his experience?" → duyet://cv/detailed
    • "What's he writing about?" → duyet://blog/posts/3
    • "What's he working on?" → duyet://github-activity
  2. Action RequestsInteractive Tools

    • "I want to contact him" → send_message tool
    • "Can you send him a greeting?" → say_hi tool
    • "Get his resume" → get_cv tool
  3. Progressive Disclosure

    • Start with general questions
    • Drill down into specific areas
    • Take actions when ready

Architecture

  • Framework: Hono.js running on Cloudflare Workers
  • Database: Cloudflare D1 with Drizzle ORM
  • Testing: Jest with comprehensive test coverage
  • Linting: Biome for code quality
  • Type Safety: TypeScript with strict configuration

License

MIT License - see LICENSE file for details.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选