Token导航 LogoToken导航TokenDH.com
Parrot MCP Server logo
AI代理stdio官方级别未说明来源级核验

Parrot MCP Server

MCP Server

AI-Parrot MCP Server是一个模型上下文协议服务器,用于将AI工具和自定义功能暴露为MCP兼容的服务,供AI代理和客户端使用。

工具数

10

提示词数

0

GitHub Stars

14

资源数

0
服务器配置DockerClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

phenobarbital

提供方

phenobarbital

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

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

命令预览

docker run -p 8081:8081 --env-file .env.api mcp-server

详细介绍

AI鹦鹉MCP服务器

此存储库使用以下方式托管模型上下文协议(MCP)服务器配置 ai-parrot。它允许您暴露各种 ai-parrot 工具(或自定义功能)作为符合MCP的服务器,可供AI代理和客户端(如Claude Desktop、Antigravity等)使用。

快速开始

安装:

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Create virtual environment
uv venv --python 3.11 .venv

# Activate virtual environment
source .venv/bin/activate

# Install dependencies
uv sync

# or manually install ai-parrot:
uv pip install ai-parrot[mcp,llms]

创建环境文件:

mkdir env
kardex create

这将在以下位置创建整个NavConfig项目结构 parrot-mcp-server (环境:dev)

创建新配置

  1. 创建目录 mcp_servers
  2. 在中创建新文件 mcp_servers/ (例如。, server.yaml).
  3. 添加 MCPServer 块。
  4. 列出您要公开的工具。

示例:谷歌搜索服务器

MCPServer:
  name: GoogleMCP
  port: 8082
  transport: http
  tools:
    - GoogleSearch:
        api_key: GOOGLE_API_KEY
        cse_id: GOOGLE_CSE_ID

运行MCP服务器:

parrot mcp --config mcp_servers/server.yaml

配置

服务器使用位于 mcp_servers/ 目录。

结构

配置文件定义了一个 MCPServer 块:

MCPServer:
  name: MyServer               # Friendly name
  host: 0.0.0.0                # Host to bind to
  port: 8081                   # Port to listen on
  transport: http              # 'http' or 'stdio'
  auth_method: api_key         # 'none' or 'api_key'
  api_key: MY_ENV_API_KEY      # API Key (can be environment variable)
  tools:
    - ToolName:                # Class name of the tool/toolkit
        arg1: value            # Arguments passed to __init__
        arg2: ENV_VAR_NAME     # Environment variable substitution

关键属性

  • transport:

- http:启动web服务器(可用于远程访问)。 - stdio:使用标准输入/输出(可用于与Claude Desktop的本地集成)。 - sse:使用服务器发送事件启动web服务器(对远程访问有用)。 - ws:使用WebSocket启动web服务器(可用于远程访问)。 - quic:使用QUIC启动web服务器(可用于远程访问)。 - grpc:使用gRPC启动web服务器(可用于远程访问)。 - unix:使用Unix域套接字启动web服务器(对于与Claude Desktop的本地集成非常有用)。

  • auth_method:

- none:不需要身份验证。 - api_key:需要 X-API-Key 头球

  • api_key:

- 在以下情况下设置所需的API密钥 auth_methodapi_key. - 环境替代:如果该值检查环境变量(例如。, MCP_SERVER_API_KEY),它将被使用。

  • tools:

- 要加载的工具列表。每个条目都是一个字典,其中的关键字是Tool/Toolkit类名(来自 ai-parrot)该值是一个参数字典。

环境变量替换

您可以使用环境变量 任何 配置中的字符串值(服务器参数或工具参数)。

  • 如果一个值与现有的环境变量名称匹配,则将其替换为该变量的值。
  • 例子: "server_url": "JIRA_URL" ->决心 os.getenv("JIRA_URL").

阅读AI Parrot文档以获取更多信息。

可用工具

任何可用的工具 ai-parrot 可以加载。常用工具包括:

  • JiraToolkit:Jira的操作(获取、搜索、转换问题)。
  • GoogleSearch:执行谷歌搜索。
  • OpenWeather:获取天气数据。
  • ArangoDBSearch:搜索ArangoDB。
  • PostgreSQLToolkit / DatabaseQuery:SQL数据库交互。
  • GitToolkit:Git存储库操作。
  • AWSCloudWatch:AWS CloudWatch日志和指标。
  • MsTeams:微软团队互动。
  • Office365:Outlook和日历(通过 O365Toolkit).

还有更多,请查看 ai-parrot 完整列表的文档。

*注意:确保您满足特定工具的Python依赖关系(例如。, jira 包装用于 JiraToolkit).*

Docker支持

您可以使用提供的Docker镜像运行服务器:

docker build -f docs/Dockerfile -t mcp-server .
docker run -p 8081:8081 --env-file .env.api mcp-server

Dockerfile已配置为加载 server.yaml,这通常是指向您所需配置的符号链接 mcp_servers/.

添加自定义工具

您可以轻松扩展 parrot-mcp-server 通过在中添加自己的自定义工具 plugins/tools/ 目录。MCP服务器加载程序会自动扫描此目录,将其作为MCP端点公开。

构建自定义工具有三种主要方法:

1.延伸 AbstractTool

适用于实现特定功能的简单、单一用途工具 _execute 行动。

# plugins/tools/my_tools.py
import asyncio
from parrot.tools.abstract import AbstractTool

class MyCustomTool(AbstractTool):
    name = "MyCustomTool"
    description = "A custom tool that echoes text."
    
    async def _execute(self, text: str) -> str:
        return f"Echo: {text}"

server.yaml:

MCPServer:
  tools:
    - MyCustomTool:

2.延伸 AbstractToolkit

工具包旨在将多个相关工具组合到一个类中。 任何公共异步方法(不以开头 _)内部A AbstractToolkit 子类会自动作为自己的独立MCP工具公开。

这非常适合包装整个API或SDK,其中多个函数共享相同的初始化参数(如API键或连接)。

# plugins/tools/my_toolkit.py
from parrot.tools.toolkit import AbstractToolkit

class MyApiToolkit(AbstractToolkit):
    def __init__(self, api_key: str):
        self.api_key = api_key
        
    async def get_user_info(self, user_id: int) -> str:
        """Fetch user information."""
        return f"User {user_id} info using key {self.api_key}"
        
    async def get_billing_status(self, user_id: int) -> str:
        """Fetch billing details."""
        return f"Billing status for {user_id}"

server.yaml,提供初始化参数(它们支持自动环境变量替换):

MCPServer:
  tools:
    - MyApiToolkit:
        api_key: MY_SECRET_API_KEY

*结果:MCP服务器将公开两个名为 get_user_infoget_billing_status.*

3.使用 @tool 装饰器

为了快速编写脚本,您可以装饰一个标准的Python函数。

# plugins/tools/simple_tools.py
from parrot.tools.decorators import tool

@tool(
    name="SystemPing",
    description="Returns a simple ping response"
)
async def ping_tool() -> str:
    return "pong"

server.yaml:

MCPServer:
  tools:
    - ping_tool:

🤝 社区与支持

  • 问题:
  • 讨论:
  • 贡献:欢迎拉取请求!请阅读 CONTRIBUTING.md.

______________________________________________________________________

*内置于❤️ AI鹦鹉团队*

目录标签

目录标签

服务器配置DockerClaudeMakefile本地部署AI工具模型协议自定义功能AI代理

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP