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

pal MCP

MCP Server

PAL是一个基于模型上下文协议(MCP)的服务器,用于管理自定义命令和提示,支持通过简单语法扩展LLM功能。

工具数

0

提示词数

0

GitHub Stars

1

资源数

0
PythonClaudeAI代理Claude

安装说明

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

作者 / 组织

atykhonov

提供方

atykhonov

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install -e ".[dev]"

详细介绍

PAL-个人AI层

用于自定义命令和提示管理的MCP(模型上下文协议)服务器。PAL使像Claude这样的LLM能够通过简单的 $$command 语法。

特性

  • 自定义命令:使用定义和执行自定义提示 $$command 语法
  • 指挥管道:使用链命令 | 操作员($$cmd1 | cmd2)
  • 及时管理:创建、查看和管理自定义提示
  • 变量替换:使用 $MSG, $REPLY, $REPLY1..$REPLYN, $REPLIES,以及基于标题的变量
  • 标记:标记和检索对话会话中的内容(需要Meilisearch)
  • 备注:带有AI标签的全文可搜索笔记(需要Meilisearch)
  • OAuth 2.0:使用PKCE进行外部连接的安全身份验证
  • 可扩展:通过文件系统或内置默认值添加自定义提示

安装

来源

# Clone the repository
git clone https://github.com/atykhonov/pal-mcp.git
cd pal-mcp

# Install in development mode
pip install -e ".[dev]"

使用Docker

docker compose up --build -d

快速开始

运行服务器

# Using the CLI entry point
pal

# Or as a Python module
python -m pal

# Or directly
python src/pal/server.py

服务器启动于 http://localhost:8090 默认情况下。

配置

PAL使用环境变量进行配置。您还可以使用 .env 项目根目录中的文件。

核心设置

变量默认值描述
PAL_TRANSPORTsse运输类型: ssestdio
PAL_SERVER_PORT8090服务器端口
PAL_SERVER_HOST0.0.0.0服务器主机
PAL_PROMPTS_DIR~/.pal-mcp-prompts提示文件目录
PAL_FILES_DIR~/.pal-mcp-prompts/files静态文件目录
PAL_LOG_LEVELINFO日志记录级别
PAL_SSL_CERTFILE-SSL证书文件的路径
PAL_SSL_KEYFILE-SSL密钥文件的路径

OAuth设置

变量默认值描述
PAL_OAUTH_ENABLEDtrue为外部连接启用OAuth 2.0
PAL_OAUTH_PUBLIC_URL-OAuth重定向的公共URL
PAL_OAUTH_SECRET(已生成)用于签名令牌的密钥
PAL_OAUTH_TOKEN_EXPIRY86400令牌过期时间(秒)(24小时)
PAL_OAUTH_ALLOWED_NETWORKS127.0.0.0/8,...绕过OAuth的CIDR范围

备注设置

变量默认值描述
PAL_NOTES_ENABLEDfalse启用笔记功能
PAL_MEILISEARCH_URL . http://localhost:7700)
PAL_NOTES_AI_PROVIDERpal-follow-up用于标签生成的AI提供商: mcp-sampling, ollama, pal-follow-up,或 none
PAL_OLLAMA_URLhttp://localhost:11434人工智能功能的Ollama URL
PAL_OLLAMA_MODELllama3.2人工智能特征的Ollama模型

用法

内置命令

命令描述
$$help列出所有可用命令
$$echo 回显文本(带变量替换)
$$lorem-ipsum 生成lorem ipsum文本。
$$prompt列出所有自定义提示
$$prompt 显示提示定义
$$prompt 创建/更新自定义提示
$$ --help显示可用子命令

注释命令

需要 PAL_NOTES_ENABLED=true 以及一个正在运行的Meilisearch实例。

命令描述
$$notes add 添加带有AI生成标签的新笔记
$$notes list列出所有笔记
$$notes list --tags tag1,tag2列出按标签筛选的注释
$$notes search 全文搜索注释
$$notes search --ai 基于人工智能的语义搜索
$$notes view 按ID查看笔记
$$notes tags 为笔记重新生成标签
$$notes delete 删除注释

创建自定义提示

# Create a translation prompt
$$prompt tr Translate the following text to Ukrainian:\n\n{input}

# Use the prompt
$$tr Hello, world!

指挥管道

# Chain commands together
$$echo Hello | tr

变量替换

LLM在调用命令之前会自动替换这些变量:

  • $MSG -用户之前的消息
  • $REPLY -LLM之前的回应
  • $REPLY1, $REPLY2, ...-较早的回复(1回、2回等)
  • $REPLIES -LLM之前的所有响应(连接)
  • $HEADING_NAME -内容如下 ## Heading Name 在之前的回复中

标记内容

标记和检索对话会话中的内容:

命令描述
$$session显示或初始化会话UUID
$$tag tag1,tag2 [content]标记内容(默认为$REPLY)
$$tags 按标签获取项目
$$tags list列出标记的项目
$$tags search "query"搜索标记的内容

标签的作用域是使用LLM生成的SESSION_UID的对话。LLM在首次使用时生成此UUID $$tag$$session 并在整个谈话过程中记住它。

项目结构

pal-mcp/
├── src/pal/                    # Main package
│   ├── __init__.py
│   ├── __main__.py             # Entry point
│   ├── config.py               # Configuration (pydantic-settings)
│   ├── server.py               # MCP server with OAuth 2.0
│   ├── auth.py                 # OAuth 2.1 manager
│   ├── prompts/                # Prompt management
│   │   ├── __init__.py
│   │   ├── defaults.py         # Default prompts
│   │   └── loader.py           # Prompt loading
│   └── tools/                  # MCP tools
│       ├── __init__.py
│       ├── handlers.py         # Command handlers
│       ├── parser.py           # Command parsing
│       ├── registry.py         # Tool registration
│       └── curl.py             # Curl tool for HTTP requests
├── tests/                      # Test suite
├── pyproject.toml              # Project configuration
├── Dockerfile
└── docker-compose.yml          # Includes Meilisearch & Ollama

发展

设置

# Install with development dependencies
pip install -e ".[dev]"

# Set up pre-commit hooks
pre-commit install

运行测试

# Run all tests
pytest

# Run with coverage
pytest --cov=src/pal --cov-report=html

代码质量

# Format code
black src tests

# Lint
ruff check src tests

# Type checking
mypy src

添加自定义提示

通过文件系统

创建 .md 文件在 ~/.pal-mcp-prompts/:

# Flat command: ~/.pal-mcp-prompts/mycommand.md
echo "Your prompt here" > ~/.pal-mcp-prompts/mycommand.md

# Nested command: ~/.pal-mcp-prompts/namespace/subcommand.md
mkdir -p ~/.pal-mcp-prompts/git
echo "Git commit prompt" > ~/.pal-mcp-prompts/git/commit.md

# Custom user prompts: ~/.pal-mcp-prompts/custom/
mkdir -p ~/.pal-mcp-prompts/custom
echo "Translate to Spanish:" > ~/.pal-mcp-prompts/custom/es.md

API终点

端点方法描述
/sseMCP的GETSSE连接
/mcpPOST可流式HTTP传输
/authorizeGETOAuth 2.0授权
/tokenPOSTOAuth 2.0令牌交换
/files/*GET静态文件服务

MCP工具

PAL公开了两个MCP工具:

run_pal_command

使用可选管道执行PAL命令。

{
  "command": "git commit | review"
}

list_pal_commands

列出所有可用命令。

许可证

麻省理工学院

目录标签

目录标签

PythonClaudeAI代理LLM扩展本地部署命令管理提示工程对话系统AI工作流

支持客户端

Claude

接入字段

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

stdio

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

oauth

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP