关于 MCPServerApp
MCPServerApp 是基于 .NET 9 的 MCP 服务,面向文本处理、写作、分析和商务内容任务。它提供 50 多种工具,涵盖文本实用功能及创意和教育内容生成。
主要功能
- 0150 多种文本与 AI 工具
- 02情感、偏见和可读性分析
- 03创意写作与内容生成
- 04商务及教育内容工具
- 05翻译与文本处理
适用场景
- 01评估文本语气、情感或可读性
- 02起草故事、诗歌和人物档案
- 03生成标语、产品名和邮件主题
- 04制作概念说明、教程或辩论观点
MCP 相关
它通过 MCP 向兼容客户端提供工具。许多文本生成和分析工具使用 IChatClient。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
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:支持多种配置来源
🧪 开发
添加新工具
- 在适当的工具类中创建新的静态方法
- 添加带有名称和描述的
[McpServerTool]属性 - 使用
[Description]属性添加参数说明 - 在适当情况下,使用 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 中指定的条款授权。
🤝 贡献
- Fork 此仓库
- 创建功能分支
- 进行更改
- 视情况添加测试
- 提交拉取请求
📞 支持
如有问题、遇到故障或希望贡献,请参阅项目的问题跟踪器或文档。
使用 .NET 9 和 Model Context Protocol 构建,倾注 ❤️
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。