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

Claude Md

MCP Server

为Claude Code CLI设计的优化配置文件,用于动态调整行为规则和MCP服务器配置,提升会话效率和规则执行一致性。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
ClaudeAI代理工作流自动化Claude

安装说明

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

作者 / 组织

IT-Square-Plus

提供方

IT-Square-Plus

最后核验

2026/5/17 20:20

快速接入

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

详细介绍

📋 CLAUDE.md-克劳德代码的优化配置

目的: Claude Code CLI的优化指令文件 版本: 1.0 最后更新时间: 2025年11月

______________________________________________________________________

这是什么?

这个项目包含一个精心设计的 CLAUDE.md file-Claude Code在启动时自动加载的特殊配置。它作为可执行规范和行为指令,塑造了Claude在所有会话中的行为。

我们解决的问题: 默认的Claude代码行为缺乏特定于项目的上下文、一致的规则执行和对可用MCP(模型上下文协议)服务器的感知。

我们的解决方案: 一个结构化的、研究支持的CLAUDE.md:

  • 始终如一地执行关键规则
  • 动态适应可用的MCP工具
  • 保持注意力模式的最佳大小
  • 使用“三明治模式”以最大限度地保留规则

______________________________________________________________________

为什么选择新的CLAUDE.md?

注意力问题

Claude的系统提示注意力机制(如Claude.md)遵循特定的模式:

╔═══════════════════════════════════════════════════════╗
║ Beginning of file    → HIGHEST attention (5/5)        ║
║ Middle of file       → MEDIUM attention  (3/5)        ║
║ End of file          → HIGH attention.   (4/5)        ║
╚═══════════════════════════════════════════════════════╝

关键见解: 这与最近=最高优先级的对话历史记录不同。对于系统提示 开始 具有最高优先级。

尺寸问题

研究和测试表明:

  • 推荐: 最多500-600行
  • 除此之外: 注意力下降,规则被“遗忘”
  • 解决方案: 简洁的章节,需要时参考详细配置

我们的CLAUDE.md针对注意力进行了优化,不会丢失重要信息。

______________________________________________________________________

三明治模式解释

我们使用一种称为“三明治模式”的特定优先级结构:

┌─────────────────────────────────────────────────────┐
│ PRIORITY #1 - CRITICAL RULES                        │ Rating: ⭐⭐⭐⭐⭐
│ Lines 1-120: Non-negotiable foundation              │
│ • Language requirements                             │
│ • Code modification boundaries                      │
│ • File creation constraints                         │
│ • MCP server awareness                              │
│ • Session start protocol                            │
├─────────────────────────────────────────────────────┤
│ PRIORITY #2 - GENERAL PREFERENCES                   │ Rating: ⭐⭐⭐⭐
│ Lines 124-282: Standard operating procedures        │
│ • Communication style                               │
│ • Code architecture                                 │
│ • Testing approach                                  │
│ • Git operations                                    │
│ • Web research protocol                             │
├─────────────────────────────────────────────────────┤
│ PRIORITY #4 - MCP CONFIGURATIONS.                   │ Rating: ⭐⭐⭐ ← WHY HERE?
│ Lines 285-515: Conditional tool configurations      │
│ • Context7, Sequential Thinking, Serena             │
│ • Chrome DevTools, Exa, Argus, Yggdrasil            │
├─────────────────────────────────────────────────────┤
│ PRIORITY #3 - CRITICAL REMINDER                     │ Rating: ⭐⭐⭐⭐
│ Lines 519-574: Reinforcement of top rules           │
│ • Checklist format                                  │
│ • Repeats Priority #1 rules                         │
└─────────────────────────────────────────────────────┘

为什么MCP配置处于中间位置(优先级#4)?

问题: 既然MCP配置很重要,为什么不把它们放得更高呢?

答案: 三个原因:

  1. 有条件的性质

- MCP配置仅在检测到特定服务器时适用 - 并非每个会话都需要每个MCP配置 - 将它们置于“关键”位置会将最高关注空间浪费在可能无关的内容上

  1. 确定性逻辑

- MCP检测清楚:刀具模式存在→ 应用配置 - 没有需要高度关注的歧义 - 明确触发条件(mcp__servername__*)不言自明

  1. 参考资料

- MCP配置是“在需要时进行咨询”,而不是“始终记忆” - 中间位置非常适合参考材料 - Claude在会话开始时检查MCP工具,然后应用相关配置

规则: 关键的不可谈判规则贯穿始终。条件/参考材料在中间。

为什么要在最后重复规则?

“三明治模式”在开头和结尾都放置了关键规则:

Beginning: DEFINE the rules (highest authority)
Middle: Details, examples, conditional configs
End: REINFORCE the rules (recency within system prompt)

重要提示: 结束并不比开始更重要。it is 的常用口语形式 通过重复强化,就像起飞前飞行员的检查表一样——飞行手册(开始)有权威,但检查表(结束)确保不会忘记任何事情。

类比:

Teacher at start: "Today's 3 key concepts: A, B, C"
[45 minutes of detailed lesson]
Teacher at end: "Remember: A, B, C were the key points"

结束不会覆盖开始,它会强化它。

______________________________________________________________________

MCP条件加载

CLAUDE.md文件是静态Markdown,不支持IF-ELSE语句。但克劳德足够聪明,可以:

  1. 检查哪些工具可用(参见 mcp__servername__* 在功能列表中)
  2. 解释自然语言条件指令
  3. 仅根据检测到的工具应用相关部分

我们的方法

## Yggdrasil MCP (Semantic Memory Server)

**Trigger:** `mcp__Yggdrasil__*` tools detected

[Configuration only applies when trigger condition is met]

**When NOT available:** Session-only context, no persistence

每个MCP部分包括:

  • 触发: 什么工具模式激活此配置
  • 目的: MCP提供什么
  • 您必须: MCP可用时所需的行为
  • 关键模式: 使用示例
  • 当不可用时: 回退行为

这允许一个CLAUDE.md在安装了不同MCP服务器的不同环境中工作。

______________________________________________________________________

用于语义分组的类XML标签

您会注意到我们的CLAUDE.md使用类似XML的标签:


...critical rules here...

...MCP configurations here...

...reminder checklist here...

为什么使用XML标签?

1.语义边界

XML标签创建了清晰、明确的部分边界。与Markdown标题不同(##)XML标签是分层但扁平的,明确标记逻辑块的位置 开始末端.

## Section A        ← Where does Section A end?
content...
## Section B        ← Here? Or was there supposed to be more?

         ← Section A starts here
content...

        ← Section A definitively ends here

         ← Section B starts here

2.优先级属性

XML允许传递元数据的属性:

这句话不仅告诉克劳德“这很关键” 多么关键 -the priority="HIGHEST" 属性以机器可解析的方式增强了重要性。

3.LLM模式识别

大型语言模型是在大量结构化数据上训练的,包括:

  • HTML/XML文档
  • 配置文件
  • API响应

Claude识别XML模式并理解:

  • ... =包含相关内容
  • 属性如 priority="HIGH" =关于内容的元数据
  • 嵌套结构=层次关系

4.混合Markdown+XML

我们使用 两者 Markdown和XML的战略:

元素格式原因
标题Markdown ##人类可读性、导航
内容Markdown格式、列表、代码块
逻辑部分XML标签明确边界,优先级提示
优先级标记XML属性机器可解析重要性

我们的CLAUDE.md示例:

# 🔴 CRITICAL RULES (NON-NEGOTIABLE) ← Markdown for human readers

 ← XML for semantic grouping

## Language Requirements ← Markdown for structure

**Code & Technical Content:** ← Markdown for formatting

- **ALWAYS** use English for:
  - All code
    ...

 ← Clear end of critical section

我们使用的标签

标签目的位置
``不可协商规则开始(优先级#1)
``条件MCP配置中等(优先级#4)
``规则强化检查表结束(优先级#3)

为什么不是纯Markdown?

纯Markdown缺少:

  • 显式结束标记 - ## 开始部分但不结束它们
  • 属性支持 -无法添加 priority="HIGHEST" 元数据
  • 语义分组 -标题是分层的,没有分组

纯XML将缺少:

  • 可读性 -更难扫描和编辑
  • 丰富的格式 -列表、粗体、代码块在XML中很冗长

混合方法 让我们两全其美。

______________________________________________________________________

使用meta.yaml进行项目识别

代替内联标签(#user=John #project=Alpha),我们使用结构化方法:

项目根目录中的meta.yaml:

codename: ProjectName # Required - used for tagging
user: Username # Required - used for tagging
team: TeamName # Optional - stored in metadata
related_projects: # Optional - stored in metadata
  - Alpha
  - Beta
  - Enigma

它是如何工作的:

  1. 会话开始: 克劳德检查 ./meta.yaml 在项目根中
  2. 如果存在: 用途 codenameuser 用于自动Yggdrasil标签
  3. 如果缺失: 回退到 user:default_userproject:default_project

优点:

  • 无需记住每条消息中的标签
  • 跨会话的一致标记
  • 与代码一起存储的项目元数据
  • 团队协作上下文可用

______________________________________________________________________

文件结构

~/.claude/
├── CLAUDE.md              # Main configuration (this is the CLAUDE.md from this repo!).
└── settings.json          # Claude Code global user settings.

project-root/
├── meta.yaml              # Project identification for Yggdrasil.
├── .mcp.json              # MCP server configurations.
├── .claude/
│   └── settings.local.json    # Project-specific settings.
└── CLAUDE.md              # Optional project-specific overrides.

______________________________________________________________________

关键设计决策

1.尺寸优化

为什么? 超过600行的文件显示对中间内容的关注度下降。

怎样:

  • 删除了详细的工具描述(Claude在函数列表中看到了它们)
  • 专注于如何以及何时,而不是存在什么
  • 使用简洁的模式而不是详尽的文档

示例-避免列出所有MCP服务器工具(由于工具描述,Claude知道这些工具的作用):

## Yggdrasil MCP

### Available Tools:

- save_memory - Store new information...
- get_memory - Retrieve specific memory...
  [list of 27 tools with descriptions]

示例-告诉克劳德在某些时刻和情况下如何表现:

## Yggdrasil MCP (Semantic Memory Server)

**Trigger:** `mcp__Yggdrasil__*` tools detected
**YOU MUST:**

- Read meta.yaml at session start
- Tag memories with user:{user} and project:{codename}
- Use search_memories for semantic search
  [Key patterns and when to save]

2.三明治优先级结构

为什么? 系统提示的开始和结束得到了最高的关注。

怎样:

  • 开始时的关键规则(优先级#1)
  • 接下来是一般偏好(优先级#2)
  • MCP配置位于中间(优先级#4)
  • 最后的关键提醒(优先级#3)

3.MCP条件加载

为什么? 不同的环境有不同的MCP服务器。

怎样:

  • 每个MCP部分都有明确的触发条件
  • 为MCP不可用时定义的回退行为
  • 会话开始时的检测协议

4.meta.yaml集成

为什么? 一致的项目标识,没有内联标签。

怎样:

  • 项目根目录中的结构化YAML文件
  • 必填字段: codename, user
  • 存储在Yggdrasil元数据中的可选字段

5.记忆指南(何时保存)

为什么? 克劳德需要指导什么值得坚持。

类别:

  • 决策与解决方案
  • 用户和项目背景
  • 技术知识
  • 项目进度
  • 会话上下文

______________________________________________________________________

用法

安装

  1. 复制 CLAUDE.md~/.claude/CLAUDE.md:
   cp CLAUDE.md ~/.claude/CLAUDE.md
  1. 创建 meta.yaml 在项目根目录中:
   codename: MyProject
   user: YourName
   team: Personal
  1. 在中配置MCP服务器 .mcp.json (项目根或 ~/.claude/):
   {
     "mcpServers": {
       "Yggdrasil": {
         "type": "http",
         "url": "http://localhost:8080/mcp-project"
       }
     }
   }

______________________________________________________________________

测试您的配置

验证检查表

✓ Structure Test:
  [ ] Critical rules in first 100 lines?
  [ ] MCP configs in middle section?
  [ ] Reminder in last 60 lines?
  [ ] Total under 600 lines?

✓ Content Test:
  [ ] Priority #1 rules are truly non-negotiable?
  [ ] MCP sections have clear triggers?
  [ ] Reminder repeats Priority #1 rules?

✓ Effectiveness Test:
  [ ] Start new Claude session
  [ ] Ask "What are your critical rules?"
  [ ] Verify Priority #1 rules mentioned first
  [ ] Test MCP detection with available servers

______________________________________________________________________

贡献

修改CLAUDE.md时:

  1. 保持尺寸在600行以下
  2. 保持三明治结构 (优先级#1→ #2 → #4 → #3)
  3. 更新开始和结束 对于关键规则
  4. 使用实际的Claude Code会话进行测试
  5. 直接询问Claude Code -开始对话并问: Can you read my CLAUDE.md and tell me if it's clear and well-structured? What works well and what could be improved?
  6. 在您自己的研究文件中记录更改

______________________________________________________________________

鸣谢

特别感谢 雅各布 · 戈斯蒂尼亚克 通过我们对优化的CLAUDE.md结构和注意力模式的讨论来启发这个项目。

______________________________________________________________________

参考文献

______________________________________________________________________

📚 脚注

\[1\] MCP内存服务器

用于持久上下文存储的可用MCP内存服务器:

目录标签

目录标签

ClaudeAI代理工作流自动化AI配置本地部署行为优化MCP集成规则管理会话控制

支持客户端

Claude

接入字段

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

未说明

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

session

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明session部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP