Token导航 LogoToken导航TokenDH.com
Engage Gov Content MCP logo
文档知识stdio官方级别未说明来源级核验

Engage Gov Content MCP

MCP Server

一个基于.NET的安全、遵循SOLID原则和Clean Architecture的内容管理协议服务器,适用于现代Web应用开发。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
知识管理C#API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

lucas-explica

提供方

lucas-explica

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 --name engagegovcontent-mcp engagegovcontent-mcp

详细介绍

EngageGov内容MCP服务器

.NET

License

MCP(Model Context Protocol)服务器。NET专注于安全性,最佳实践和清洁架构。该项目演示了遵循 SOLID 和 Clean Code 原则的现代服务器。

📋 特点

  • 清洁建筑(Clean Architecture)明确分层责任
  • SOLID原则结构良好且可维护的代码
  • 安全实施多层安全
  • 码头工人使用 Alpine Linux 优化的图像
  • 日志记录使用 Serilog 进行强大的配置
  • 睾丸使用 xUnit 进行单元测试
  • API RESTful记录良好的端点
  • 健康检查应用健康监测

🏗️ 建筑

该项目遵循分层的清洁架构(Clean Architecture):

EngageGovContentMcp/
├── src/
│   ├── EngageGovContentMcp.Domain/         # Entidades de domínio e lógica de negócio
│   │   ├── Common/                         # Classes base compartilhadas
│   │   ├── Entities/                       # Entidades do domínio
│   │   └── Exceptions/                     # Exceções do domínio
│   │
│   ├── EngageGovContentMcp.Application/    # Casos de uso e interfaces
│   │   ├── DTOs/                           # Data Transfer Objects
│   │   ├── Interfaces/                     # Contratos de serviços
│   │   └── Services/                       # Implementações de serviços
│   │
│   ├── EngageGovContentMcp.Infrastructure/ # Implementações de infraestrutura
│   │   ├── Data/                           # Contexto do banco de dados
│   │   └── Repositories/                   # Implementações de repositórios
│   │
│   └── EngageGovContentMcp.Server/         # Camada de apresentação (API)
│       ├── Controllers/                    # Controllers da API
│       └── Middleware/                     # Middlewares customizados
│
└── tests/
    └── EngageGovContentMcp.UnitTests/      # Testes unitários

应用原则

SOLID

  • S责任:每个班级都有一个责任。
  • pen/Closed:打开以进行扩展,关闭以进行修改
  • Liskov Substitution:用衍生物替换基类型
  • 一、Interface Segregation: 客户端特定接口
  • Dependency Inversion:依赖于抽象,而不是实现

清洁代码

  • 描述性和有意义的名称
  • 小而集中的功能
  • 仅在必要时发表评论
  • 适当的错误处理
  • 一致的格式

🔒 安全资源

安全标头

  • X-Content-Type-Options: nosniff
  • X-Frame-Options: DENY
  • X-XSS-Protection: 1; mode=block
  • Referrer-Policy: no-referrer
  • Content-Security-Policy

实施的做法

  • Docker 容器中的非 root 用户
  • 验证数据输入
  • 集中处理例外
  • HTTPS重定向
  • 健康检查配置
  • 结构化日志
  • 可配置的 CORS

🚀 如何执行

先决条件

  • .NET 9.0 SDK
  • 码头工人(可选)
  • Docker Compose(可选)

在本地运行

# Clone o repositório
git clone https://github.com/lucas-explica/engage-gov-content-mcp.git
cd engage-gov-content-mcp

# Restaurar dependências
dotnet restore

# Compilar o projeto
dotnet build

# Executar os testes
dotnet test

# Executar o servidor
cd src/EngageGovContentMcp.Server
dotnet run

服务器将可在 http://localhost:5000https://localhost:5001.

使用 Docker 运行

# Build da imagem
docker build -t engagegovcontent-mcp .

# Executar o container
docker run -p 8080:8080 --name engagegovcontent-mcp engagegovcontent-mcp

Executar com Docker编写

# Iniciar os serviços
docker-compose up -d

# Verificar logs
docker-compose logs -f

# Parar os serviços
docker-compose down

服务器将可在 http://localhost:8080.

📚 API终点

内容项目

列出所有项目

GET /api/contentitems

按 ID 获取项目

GET /api/contentitems/{id}

列出已发布项目

GET /api/contentitems/published

按类别列出

GET /api/contentitems/category/{category}

创建新项目

POST /api/contentitems
Content-Type: application/json

{
  "title": "Título do Conteúdo",
  "description": "Descrição do conteúdo",
  "content": "Conteúdo completo",
  "category": "Categoria"
}

更新项目

PUT /api/contentitems/{id}
Content-Type: application/json

{
  "title": "Novo Título",
  "description": "Nova descrição",
  "content": "Novo conteúdo",
  "category": "Nova categoria"
}

Tibetan物品

DELETE /api/contentitems/{id}

公共项目

POST /api/contentitems/{id}/publish

非公开项目

POST /api/contentitems/{id}/unpublish

健康检查

GET /health

服务信息

GET /

🧪 睾丸

该项目包括使用 xUnit 进行单元测试。要执行测试:

# Executar todos os testes
dotnet test

# Executar com cobertura de código
dotnet test /p:CollectCoverage=true

📊 日志记录

该项目使用Serilog进行结构化日志记录。日志记录在 :

  • 控制台(开发)
  • 旋转文件在 logs/ (生产)

设置为 appsettings.json:

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information"
    }
  }
}

🔧 配置

环境变量

  • ASPNETCORE_ENVIRONMENT:定义环境(开发、分期、生产)
  • ASPNETCORE_URLS:URL解除绑定do servidor

应用程序参数

{
  "Cors": {
    "AllowedOrigins": ["http://localhost:3000"]
  },
  "Security": {
    "EnableRateLimiting": true,
    "RateLimitRequests": 100,
    "RateLimitPeriodSeconds": 60
  }
}

🐳 Docker 详情

基础图像

  • 构建: mcr.microsoft.com/dotnet/sdk:9.0-alpine
  • 运行时: mcr.microsoft.com/dotnet/aspnet:9.0-alpine

优化

  • 多阶段构建以减少图像大小
  • 非 root 安全用户
  • 健康检查集成
  • Alpine Linux 图像( 轻)

大致大小

  • 最终图像:~100MB

🤝 贡献

欢迎捐款!请:

  1. 分叉工程
  2. 为您的功能创建一个分支 (git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推动一个分支(git push origin feature/AmazingFeature)
  5. Abra um Pull请求

📝 许可证

这个项目是根据麻省理工学院许可证授权的 - 查看文件 许可证 为了细节。

👨‍💻 作者

卢卡斯·德·利马

📞 支持

有关支持和疑问,请在 GitHub 仓库中打开一个问题。

______________________________________________________________________

背板本项目是一个 MCP 演示服务器,实现开发最佳实践。NET,包括 Clean Architecture、SOLID、安全和 Docker。

目录标签

目录标签

知识管理C#API集成内容管理本地部署安全架构RESTfulAPIDocker支持单元测试

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP