mcpField
M
MCPServerApp

MCPServerApp

本地服务
github.com/ewdlopAI 与智能体074 周前更新

关于 MCPServerApp

MCPServerApp 是基于 .NET 9 的 MCP 服务,面向文本处理、写作、分析和商务内容任务。它提供 50 多种工具,涵盖文本实用功能及创意和教育内容生成。

主要功能

  1. 0150 多种文本与 AI 工具
  2. 02情感、偏见和可读性分析
  3. 03创意写作与内容生成
  4. 04商务及教育内容工具
  5. 05翻译与文本处理

适用场景

  1. 01评估文本语气、情感或可读性
  2. 02起草故事、诗歌和人物档案
  3. 03生成标语、产品名和邮件主题
  4. 04制作概念说明、教程或辩论观点

MCP 相关

它通过 MCP 向兼容客户端提供工具。许多文本生成和分析工具使用 IChatClient。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"MCPServerApp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"build"
]
}
}
}
启动命令docker run -i --rm build

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocibuild

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCPServerApp

一个使用 .NET 9 构建的综合性模型上下文协议(MCP)服务应用,提供 50 多种 AI 驱动的工具,适用于文本处理、创意写作、分析和商业应用。

🚀 功能

  • 50 多种 AI 驱动的工具:使用 IChatClient 执行各种任务的丰富工具集
  • 文本分析:情感分析、偏见检测、可读性评估和写作改进
  • 创意写作:故事生成、诗歌创作、角色塑造和对话模拟
  • 商业工具:邮件主题生成、客户评价、口号和产品命名
  • 教育:概念讲解、教程大纲、辩论要点和记忆辅助工具
  • 语言处理:翻译、押韵生成、词语联想和替代方案建议
  • 沟通交流:对话开场白、破冰话题和面试问题

🛠️ 技术栈

  • .NET 9:最新的 .NET 框架
  • 模型上下文协议(MCP):AI 工具的通信协议
  • Microsoft.Extensions.AI:AI 抽象和聊天客户端支持
  • Docker:容器化支持
  • C#:主要编程语言

📋 前置要求

  • .NET 9 SDK
  • Docker(可选,用于容器化部署)
  • AI 服务提供商(用于 IChatClient 功能)

🏃‍♂️ 快速开始

1. 克隆并构建
git clone <repository-url>
cd MCPServerApp
dotnet build
2. 运行应用
dotnet run
3. Docker 部署(可选)
docker build -t mcpserverapp .
docker run -p 8080:8080 mcpserverapp

🔧 配置

应用采用标准的 .NET 配置模式。你可以配置:

  • AI 服务终结点
  • 日志级别
  • 服务设置

可以通过以下方式提供配置:

  • appsettings.json
  • 环境变量
  • 命令行参数
  • 用户机密(用于开发)

📚 可用工具

文本分析与处理
  • AnalyzeSentiment:分析文本的情感倾向
  • AnalyzeWritingTone:评估书面内容的语气和风格
  • AnalyzeReadability:评估文本的可读性并提出改进建议
  • AnalyzeBiasInText:识别潜在偏见和带有倾向性的措辞
  • AnalyzeEmotionalTone:分析情绪暗流和氛围
  • AnalyzeArgumentStructure:检查论证的逻辑结构
  • ImproveWriting:提供写作改进建议
  • TranslateText:在不同语言之间翻译文本
创意写作与内容
  • GeneratePoem:创作不同风格的诗歌(俳句、十四行诗、自由诗、打油诗)
  • GenerateStory:根据指定参数生成短篇故事
  • CreateCharacterProfile:为创意写作塑造详细的人物档案
  • SimulateDialogue:创作角色之间真实自然的对话
  • GenerateJoke:创作不同风格的幽默内容(双关语、俏皮话、敲门笑话、老爸笑话)
  • GenerateMotivationalQuote:创作励志名言
  • GenerateCreativePrompts:为各种媒介提供创意灵感
  • CreateMetaphors:为概念生成隐喻和类比
商业与专业应用
  • GenerateSlogan:创作朗朗上口的口号和宣传语
  • GenerateProductNames:为产品和服务构思创意名称
  • GenerateEmailSubjects:创作吸引人的邮件主题行
  • GenerateTestimonials:生成真实自然的客户评价
  • CreateUserPersonas:为设计和营销构建详细的用户画像
  • GenerateHashtags:创建相关的社交媒体话题标签
教育与解释
  • ExplainConcept:根据不同受众的水平提供相应的解释
  • GenerateQuestions:针对各种场景提出发人深省的问题
  • CreateTutorialOutline:生成结构化的学习大纲
  • GenerateDebatePoints:为辩论主题构建论点
  • CreateMemoryDevice:创建助记法和记忆辅助工具
  • CreateAnalogyChain:为复杂概念构建逐步深入的类比链
语言与沟通
  • GenerateRhyme:查找与给定输入押韵的词语
  • CreateWordAssociations:生成语义相关的词语联想
  • GenerateAlternatives:提供替代词语、短语或方法
  • CreateConversationStarters:为各种场景生成对话开场白
  • GenerateIcebreakers:创建团体破冰活动
  • CreateAcronym:创建易记的首字母缩略词,或扩展现有缩略词
实用与辅助工具
  • Echo:基本的消息回显功能
  • ReverseEcho:返回反转后的文本
  • Yell:将文本转换为大写
  • WordCount:统计文本中的词数
  • CharCount:统计字符数(不含空格)
  • VowelCount:统计文本中的元音字母数
  • Repeat:多次重复消息
  • IsPalindrome:检查文本是否为回文
  • TitleCase:将文本转换为标题格式
  • ExtractDigits:从文本中提取数字
  • LongestWord:查找文本中最长的词
  • Replace:替换文本中的子字符串
  • ToLowerCase:转换为小写
  • ToUpperCase:转换为大写
  • Trim:移除开头和结尾的空白字符
  • Contains:检查是否包含子字符串
  • SplitIntoWords:将文本拆分为词语数组
  • JoinWords:将词语数组连接为字符串
  • SummarizeContentFromUrl:下载并总结网页内容
数据与特定领域
  • GetMonkey:按名称获取猴子信息
  • GetMonkeys:列出可用的猴子

🎯 工具类别概览

类别工具数量主要使用场景
文本分析8内容评估、改进建议、偏见检测
创意写作12故事创作、诗歌、角色塑造、幽默
商业工具6营销文案、品牌建设、客户内容
教育6学习材料、解释说明、记忆辅助
语言处理8翻译、文字游戏、语义分析
沟通6社交互动、职业社交
实用功能18文本操作、基础处理
特定领域2专业数据检索

🔍 工具使用示例

情感分析
var result = await AnalyzeSentiment(server, "I absolutely love this new feature!", cancellationToken);
// Returns: Sentiment Analysis: Positive (95% confidence) - Expresses strong enthusiasm...
创意写作
var poem = await GeneratePoem(server, "autumn leaves", "haiku", cancellationToken);
// Returns: HAIKU - autumn leaves: Golden leaves falling...
商业内容
var slogans = await GenerateSlogan(server, "eco-friendly water bottles", "inspirational", 3, cancellationToken);
// Returns: INSPIRATIONAL Slogans for eco-friendly water bottles: ...

🏗️ 架构

项目结构
MCPServerApp/
├── Tools/
│   ├── EchoTool.cs          # Main tool collection (50+ tools)
│   └── MonkeyTools.cs       # Domain-specific tools
├── Models/
│   └── Monkey.cs            # Data models
├── Services/
│   └── MonkeyService.cs     # Business logic services
├── Contexts/
│   └── MonkeyContext.cs     # Data context
└── Program.cs               # Application entry point
关键组件
  • McpServerTool Attributes:将方法标记为可用的 MCP 工具
  • IChatClient Integration:利用 AI 能力处理文本
  • Dependency Injection:使用 .NET DI 容器管理服务
  • Configuration System:支持多种配置来源

🧪 开发

添加新工具
  1. 在适当的工具类中创建新的静态方法
  2. 添加带有名称和描述的 [McpServerTool] 属性
  3. 使用 [Description] 属性添加参数说明
  4. 在适当情况下,使用 IChatClient 实现工具逻辑

示例:

[McpServerTool(Name = "MyNewTool"), Description("Description of what the tool does")]
public static async Task<string> MyNewTool(
    IMcpServer thisServer,
    [Description("Input parameter description")] string input,
    CancellationToken cancellationToken = default)
{
    // Tool implementation
    ChatMessage[] messages = [
        new(ChatRole.System, "System prompt for the AI"),
        new(ChatRole.User, $"User prompt with {input}")
    ];
    
    ChatOptions options = new()
    {
        MaxOutputTokens = 200,
        Temperature = 0.5f,
    };
    
    var response = await thisServer.AsSamplingChatClient().GetResponseAsync(messages, options, cancellationToken);
    return $"Result: {response}";
}
测试
# Run tests
dotnet test

# Build and run
dotnet build
dotnet run

📄 许可证

本项目根据 LICENSE.txt 中指定的条款授权。

🤝 贡献

  1. Fork 此仓库
  2. 创建功能分支
  3. 进行更改
  4. 视情况添加测试
  5. 提交拉取请求

📞 支持

如有问题、遇到故障或希望贡献,请参阅项目的问题跟踪器或文档。


使用 .NET 9 和 Model Context Protocol 构建,倾注 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。