Reading Guide
To understand how Claude calls n8n workflows through MCP, you can start with the historical configuration in Section 3 of this article: an MCP Trigger workflow provides the entry point, calls internal processes via workflow tools, and then routes simple questions and questions requiring in-depth research to separate handling paths.
Section 3 is the main reading entry. Section 1 on llms.txt and Section 2 on CrewAI Obsidian are retained as extended references, discussing website content entry points and writing research results to notes respectively; they are not prerequisite steps for connecting Claude and n8n.
The configuration in Section 3 dates from August 2025, and the CrewAI case dates from May 2024. This article is intended for understanding the architecture, not as a step-by-step installation tutorial for the current version; node names, authentication, and deployment methods must be checked against the official documentation for the version you are using, and llms.txt does not represent crawling permission control or a guarantee of search ranking.
Related practices:Zhang Zala's Vibe Coding method: How non-programmers use AI to build small products; How to become a super individual in the AI era: newtype's practical approach from works to the first order.
When to open: three independent but related practical references.
- llms.txt: If you run a website, read this to decide whether to adapt it for LLMs
- CrewAI Obsidian: newtype's early (2024-05) multi-agent practice, 3 Agents + Tavily + writing to Obsidian
- n8n MCP: Treat n8n workflows as an MCP Server for Claude to call, with intelligent routing between simple and deep research
1. Comprehensive Guide to llms.txt (New Web Proposal)
1.1 What it is + current status
llms.txt is an emerging web standard proposal that governs how LLMs interact with website content.
Key judgments:
- It is currently at the community proposal stage, not a formal standard
- Proposed by developers/companies, it can only become a standard after all parties adopt it
- There are currently two mutually incompatible proposal formats(you cannot place both in the root directory at the same time)
1.2 Proposal A: Access Control Model (robots.txt-like)
Goal: Control whether website content is used for model training.
Format:指令: 值 pairs (plain text, consistent with robots.txt).
Main directives:
| Directive | Purpose |
|---|---|
user-agent |
Specify the model/crawler the rule applies to (* represents all) |
allow / disallow |
Allow/disallow access to specific paths |
license |
Link to license agreement (e.g. Creative Commons) |
crawl-delay |
Minimum interval between crawler fetches (seconds) |
sitemap |
Sitemap URL |
Example:
# 禁止所有模型将本站内容用于训练
user-agent: *
disallow: /
# 但允许 some-good-bot,限速
user-agent: some-good-bot
allow: /
crawl-delay: 10
# 用 Creative Commons 非商业 4.0
license: https://creativecommons.org/licenses/by-nc/4.0/
1.3 Proposal B: Inference Guidance Model (Markdown format)
Goal: Solve the problem of limited LLM context windows.Use a concise Markdown file to help LLMs quickly understand the core content and structure of a website, so they behave more like "experts" when answering user questions.
Core motivations:
- Improve LLMs' understanding and use efficiency of websites during inference
- Overcome difficulties in parsing complex HTML (navigation/ads/JS)
- Provide AI-friendly entry points
File structure:
- Required:
- H1 heading: Website/project name
- Blockquote summary: Short summary of key information
- Optional:
- H2-separated sections: More detailed explanations or link lists
- File list: Markdown links
[名称](URL)+ descriptions Optionalsections: Secondary information that can be skipped in short contexts
Example (FastHTML project):
# FastHTML
> FastHTML 是一个 Python 库,用于创建服务器渲染的超媒体应用。它结合了 Starlette, Uvicorn, HTMX 和 fastcore。
重要说明:
- API 设计受 FastAPI 启发,但不兼容其语法。
- 不支持 React, Vue, 或 Svelte 等 JS 框架。
## 文档
- [快速入门](https://www.fastht.ml/docs/quickstart.html): 安装和基本使用指南
- [教程](https://www.fastht.ml/docs/tutorials/by_example.html): 通过示例学习高级功能
## Optional (可选)
- [高级 API](https://www.fastht.ml/docs/api.html): 详细接口参考
1.4 Tool ecosystem (Proposal B)
- CLI:
llms_txt2ctx— Parse and generate LLM context files - Framework plugins:
vitepress-plugin-llms,docusaurus-plugin-llms, Drupal LLM - Libraries:
llms-txt-php,llmstxt-js— Read and write llms.txt in different languages
1.5 Key Q&A
| Q | A |
|---|---|
| llms.txt vs robots.txt | robots controls search crawling; llms-A controls training use; llms-B is inference context (which robots does not provide at all) |
| How to choose a proposal | Control training → Proposal A; help LLM inference → Proposal B |
| Can both be implemented? | Compromise:robots.txt implements A + llms.txt (Markdown) implements B |
| Model support status | Currently only a proposal, waiting for adoption by major vendors |
1.6 Connection with Karpathy · Software in the era of AI(Software 3.0) connection
Karpathy proposed "rewriting infrastructure for Agents" in his Software 3.0 talk proposes "rewriting infrastructure for Agents" — llms.txt + AGENTS.md are landmark proposals on this path.
2. CrewAI_Obsidian Project (Early Multi-Agent Practice, 2024-05)
2.1 Project structure
CrewAI_Obsidian/
├── gpt.py # 主入口 84 行
├── requirements.txt # 依赖
└── tools/
├── __init__.py
└── custom_tools.py # 31 行,自定义 Obsidian 写入工具
2.2 Core architecture
3 Agents (CrewAI multi-role):
| Agent | role | Tools | Tasks |
|---|---|---|---|
| researcher | Research Analyst | Tavily Search | Research topics, produce reports |
| editor | Content Editor | (None, pure LLM) | Summarize, generate useful notes |
| note_taker | Note Taker | store_note_to_obsidian |
Save notes to Obsidian Vault |
3 Tasks:research → edit → save to Obsidian
2.3 Key — Obsidian writing tool
from langchain.tools import tool
import datetime
import os
class CustomTools():
@tool("Write File with content")
def store_note_to_obsidian(content: str) -> str:
"""Useful to write a note to the note taking app obsidian.
The input to this tool should be a markdown text and
is the content of the file you will store on disk.
"""
try:
obsidian_dir = r'C:\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\Obsidian Vault'
current_datetime = datetime.datetime.now()
formatted_date = current_datetime.strftime("%Y-%m-%d_%H-%M-%S")
filename = f"crewai_note_{formatted_date}.md"
full_path = os.path.join(obsidian_dir, filename)
with open(full_path, 'w') as file:
file.write(content)
return f"File written to {filename}."
except Exception:
return "Error with the input for the tool."
2.4 Full gpt.py flow (simplified version)
from crewai import Agent, Task, Crew
from tools.custom_tools import CustomTools
from langchain.utilities.tavily_search import TavilySearchAPIWrapper
from langchain.tools.tavily_search import TavilySearchResults
from langchain_community.chat_models import ChatOpenAI
# 1. 配置 Tavily 搜索 + GPT-4 Turbo
search = TavilySearchAPIWrapper()
search_tool = TavilySearchResults(api_wrapper=search)
llm_gpt4 = ChatOpenAI(model_name="gpt-4-turbo", temperature=0.2)
# 2. 定义 3 个 Agent
researcher = Agent(
role='Research Analyst',
goal='Research and create reports',
tools=[search_tool],
llm=llm_gpt4,
)
editor = Agent(role='Content Editor', goal='Summarize content', llm=llm_gpt4)
note_taker = Agent(
role='Note Taker',
goal='Save content as note',
tools=[CustomTools.store_note_to_obsidian],
llm=llm_gpt4,
)
# 3. 定义 3 个 Task
task1 = Task(description="Research how to use obsidian", agent=researcher)
task2 = Task(description="Create a note", agent=editor)
task3 = Task(description="Save the content as a note to Obsidian", agent=note_taker)
# 4. 编排 Crew
crew = Crew(
agents=[researcher, editor, note_taker],
tasks=[task1, task2, task3],
verbose=2
)
result = crew.kickoff()
2.5 Historical significance of this project
- 2024-05 newtype's early multi-agent practice
- Reflects 3 core focuses of newtype:
- Multi-agent orchestration(CrewAI)
- Tavily Search + GPT-4 Turbo (tech stack)
- Writing to Obsidian Vault (knowledge accumulation)
- Consistent with the evolution path of Full Evolution of newtype's Knowledge System and Life OS:It originally started with using Agents to help write notes for oneself
3. n8n MCP Workflow (2025-08)
3.1 Overall architecture (2 workflows)
[Claude / 外部 AI] ─MCP─→ MCP Trigger 工作流
↓
调用 MCP Server 工作流
↓
Basic LLM Chain (路由)
↓ ↓
简单 → output "1" 复杂 → output "2"
↓ ↓
简单回答 Deep Research Agent
(gpt-4.1-mini)
3.2 MCP Server workflow (mcp server.json)
Node 1: Execute Workflow Trigger
- Receives external input:
queryfields
Node 2: Basic LLM Chain (router)
- Prompt:
If the request is simple, output "1" If the request is complex and needs Deep Research, output "2" - Model:gpt-4.1-mini
Node 3: Agent
- System message:"You are an excellent researcher"
- Connects to OpenAI Chat model
- Handles complex queries
3.3 MCP Trigger workflow (mcp trigger.json)
Node 1: MCP Trigger(@n8n/n8n-nodes-langchain.mcpTrigger)
- Webhook path:
6b7ac372-41cc-4ba0-84a3-e0d27bdb78b9 - This is the MCP entry point
Node 2: Call n8n Workflow Tool(@n8n/n8n-nodes-langchain.toolWorkflow)
- Internally calls
mcp serverworkflow - Exposes tools as
ai_tool
3.4 Key Pattern — n8n as an MCP Server
n8n now has LangChain nodes that can directly expose an entire workflow as an MCP Tool
Two key nodes:
n8n-nodes-langchain.mcpTrigger: MCP Server entry point (webhook)n8n-nodes-langchain.toolWorkflow: Expose workflows as tools
3.5 Simplicity of the routing design
This configuration demonstrates the concise combination of n8n + MCP:
- MCP Trigger connecting to Claude's tool calls
- Routing Chain Simple/complex classification (judged by the LLM itself)
- Agent / Plain LLM Handles the two types of queries separately
Applicable scenarios:
- Use n8n as the central router
- When Claude calls n8n via MCP, n8n performs more complex workflow orchestration internally
- More flexible than adding MCP directly to Claude(workflows are visual)
3.6 Connection with newtype · MCP Protocol and Ecosystem Practice connection
- newtype has long viewed the MCP + n8n/Dify path as promising
- This configuration is one minimal implementation
- It reflects the flexibility of the MCP protocol:n8n can act as both an MCP client (calling MCP servers) and an MCP server (called by Claude)
4. Unified Value of the Three Miscellaneous Items
4.1 Common themes
| Dimension | llms.txt | CrewAI_Obsidian | n8n MCP |
|---|---|---|---|
| Direction | Rewriting infrastructure for AI | Multi-Agent + tools + knowledge accumulation | MCP cross-tool orchestration |
| Protocol layer | Web standard proposal | LangChain agent + tool | MCP server / client |
| Application | Let AI better understand my website | Let AI help me do research | Let AI call n8n workflows |
| Time | 2025 proposal | 2024-05 practice | 2025-08 configuration |
| Status | Exploration phase | Implemented | Implemented |
4.2 Three long-term judgments reflected by newtype
- MCP is a standardized protocol (cross-tool calling)
- Multi-agent collaboration(researcher + editor + note_taker)
- Obsidian is the endpoint for personal knowledge (unchanged from 2024 to 2026)
4.3 Implications for independent developers
| Scenario | Recommendation |
|---|---|
| You run a website (SEO + AI-friendly) | Add robots.txt (Proposal A) + llms.txt Markdown (Proposal B) |
| You want to build a multi-agent demo | Refer to the 3 Agent + 3 Task + Tavily pattern in CrewAI_Obsidian |
| You already have n8n workflows | Add the mcpTrigger node to let Claude directly call your n8n workflows |
5. Connections to Other Wiki Pages
- Karpathy · Software in the era of AI(Software 3.0) — Karpathy's "Rewriting Infrastructure for Agents" (this wiki's llms.txt is a landing example of it)
- newtype · Agent Architecture and Multi-Agent Orchestration — The evolution of newtype's own judgments on Agents (CrewAI is an early practice)
- newtype · MCP Protocol and Ecosystem Practice — MCP ecosystem (this wiki's n8n MCP is a practical example of it)
- Full Evolution of newtype's Knowledge System and Life OS — Obsidian as the knowledge endpoint (CrewAI_Obsidian is an early practice of it)
- Wang Kai's Overseas Promotion SOP and Multi-Account Matrix Practice — Wang Kai's overseas promotion (llms.txt attention in overseas SEO scenarios)
History
- 2026-05-17:Phase 5.1 ingest: Merge three sources file_019/020 (llms.txt comprehensive guide) + file_003 (CrewAI_Obsidian zip) + file_018 (n8n MCP zip) to write 1 wiki.