Experiment
Template Recategorization
MCP as Hermeneutic Bridge
╔══════════════════════════════════════════════════════════════════╗ ║ TEMPLATE RECATEGORIZATION ✓ VALIDATED ║ ║ ──────────────────────────────────────────────────────────── ║ ║ 8 templates │ 5/5 criteria │ 0 rollbacks │ ~45 min total ║ ║ ║ ║ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ ║ ║ │ SLACK │ │ CLAUDE │ │ MCP │ │AIRTABLE │ ║ ║ │ THREAD │ ──► │ CODE │ ──► │ BRIDGE │ ──► │ DB │ ║ ║ └──────────┘ └──────────┘ └──────────┘ └─────────┘ ║ ║ ║ ║ Human Agent Protocol System ║ ║ (intent) (interpretation) (access) (state) ║ ╚══════════════════════════════════════════════════════════════════╝
Hypothesis
AI agents equipped with MCP (Model Context Protocol) tools can participate in the hermeneutic circle of data curation—where understanding the whole (category taxonomy) and the parts (individual templates) mutually inform each other.
Context: The Problem
Webflow templates in our CMS were incorrectly categorized under "Public Services"—a category intended for government entities (police departments, fire stations, municipal utilities, political offices).
Instead, templates for dentists, design agencies, law firms, and digital nomad lifestyles had accumulated there. This misalignment degrades user experience: someone browsing for government templates finds lifestyle coaches.
Miscategorized Templates (8 corrected)
- • Zerixs — Home maintenance → Design & Creative
- • Crownline — Transportation → Transportation, Services
- • Jones Smith — Law firm → Law Firm & Attorney
- • Nomadlife — Digital nomad → Travel & Tours
- • Dactor — Medical → Doctor, Volunteer & Community
- • Avocats X — Legal → Law Firm & Attorney, Finance
- • Rover — Nonprofit → Advocacy, Charity & Fundraising
- • DentiCare — Dental → Dentist, Volunteer & Community
Correct "Public Services" Templates
- • Police departments
- • Fire stations
- • Municipal utilities
- • Political offices
- • Government agencies
Method: MCP Integration
The Model Context Protocol (MCP) allows Claude Code to interact directly with external systems. By configuring the Airtable MCP server, the agent gains:
list_records
Query templates from specific views
→ Read the "Public Services" view to identify candidates
search_records
Find templates by name or content
→ Locate specific templates across the database
update_records
Modify template categories
→ Reassign categories using linked record IDs
Configuration
// ~/.claude.json
{
"mcpServers": {
"airtable": {
"type": "stdio",
"command": "npx",
"args": ["-y", "airtable-mcp-server"],
"env": {
"AIRTABLE_API_KEY": "pat..."
}
}
}
}Grounding: The Hermeneutic Circle
Data curation is inherently hermeneutic. To categorize a template correctly, you must:
- Understand the category taxonomy — What does "Public Services" mean?
- Examine the individual template — What does this template represent?
- Return to the whole — Does this template belong in this category?
- Refine understanding — Should the category definition change?
"The part can only be understood from the whole and the whole only from the parts."
— Wilhelm Dilthey, on the hermeneutic circle
Traditional database queries break this circle: you either query by category (ignoring template content) or by template (ignoring taxonomy structure). MCP-enabled agents can traverse both simultaneously through conversation.
Workflow Demonstration
Step 1: Human initiates via Slack
Aaron reports: "Public Services has templates that don't belong there— dentists, design agencies, law firms."
Step 2: Claude Code queries Airtable
// Using mcp__airtable__list_records
{
"baseId": "appMoIgXMTTTNIc3p",
"tableId": "tblRwzpWoLgE9MrUm",
"view": "viwp2Qn6UhDx4OMgW" // Public Services view
}Step 3: Agent interprets results
"I found 4 templates in Public Services. Zerixs appears to be home maintenance, Crownline is a law firm, Jones Smith looks like a portfolio template..."
Step 4: User provides context
"Templates should have two categories when possible—not just remove Public Services, but add an appropriate second category."
Step 5: Agent updates records
// Using mcp__airtable__update_records
{
"baseId": "appMoIgXMTTTNIc3p",
"tableId": "tblRwzpWoLgE9MrUm",
"records": [
{
"id": "rec...",
"fields": {
"category": ["recnorfWCNFvhf5Mb"] // Home Services
}
}
]
}Success Criteria
Airtable tools appear after restart
list_records returns Public Services templates
Correctly interprets template content vs category intent
8 templates recategorized with proper linked record IDs
Categories visible on template listing pages
Tool Complementarity in Practice
This experiment demonstrates the complementarity principle from the CREATE SOMETHING philosophy: Claude Code excels at interpretation and creation, while humans provide context and verify results.
| Task | Claude Code | Human |
|---|---|---|
| Identify problem | — | ✓ (Slack thread) |
| Query database | ✓ (MCP tools) | — |
| Interpret results | ✓ (Template content) | ✓ (Category intent) |
| Decide new category | ✓ (Suggestion) | ✓ (Approval) |
| Execute update | ✓ (MCP update) | — |
| Verify in production | — | ✓ (Webflow check) |
Subtractive Triad Application
DRY (Implementation)
"Have I built this before?"
→ Use existing MCP server (airtable-mcp-server npm package)
Rams (Artifact)
"Does this earn its existence?"
→ Remove templates that pollute category meaning
Heidegger (System)
"Does this serve the whole?"
→ Clean categories serve the Webflow marketplace taxonomy
Technical Learnings
MCP server location matters
Project-level .mcp.json didn't load the server. Global ~/.claude.json worked. Claude Code's MCP server discovery
appears to prioritize the global config.
Linked records require ID lookup
Airtable category fields store linked record IDs (e.g., recnorfWCNFvhf5Mb),
not human-readable names. Updates require querying the categories table first.
View-based queries are powerful
Querying a pre-configured Airtable view ("Public Services") is more efficient than filtering all records. Views encode domain knowledge.
Results
The experiment successfully recategorized 8 templates from the "Public Services" category. Each template was reassigned to appropriate categories that accurately reflect its content and intended audience.
| Template | Previous Categories | Updated Categories |
|---|---|---|
| Zerixs | Public services, Design & Creative | Design & Creative |
| Crownline | Public services, Transportation, Services | Transportation, Services |
| Jones Smith | Public services, Law Firm & Attorney | Law Firm & Attorney |
| Nomadlife | Public services, Travel & Tours | Travel & Tours |
| Dactor | Public services, Doctor, Volunteer & Community | Doctor, Volunteer & Community |
| Avocats X | Public services, Law Firm & Attorney, Finance | Law Firm & Attorney, Finance & Accounting |
| Rover | Public services, Advocacy & Campaigns, Charity | Advocacy & Campaigns, Charity & Fundraising |
| DentiCare | Public services, Dentist, Volunteer & Community | Dentist, Volunteer & Community |
Key Insight: Category Field Structure
The Categories field (ℹ️🪣Categories) uses linked record IDs.
Updates require the exact record ID (e.g., recpqfmySq2tHP5yC for
Public services), not human-readable names. The agent learned to search for
category records first, then use those IDs in update operations.
Limitations
No undo mechanism
MCP updates are immediate and permanent. There's no built-in rollback. A production workflow should include change logging or snapshot restoration.
Agent cannot verify Webflow sync
Changes sync to Webflow via Whalesync asynchronously. Claude Code cannot confirm the sync completed—human verification remains necessary.
Category taxonomy is implicit
"Public Services means government entities" is tribal knowledge. The agent inferred this from context but couldn't have known without being told.
What This Proves / Doesn't Prove
What This Proves
- • MCP enables agent participation in data curation
- • Conversational interaction can traverse the hermeneutic circle
- • Human-agent collaboration produces accurate recategorization
- • Linked record field updates work via MCP
What This Doesn't Prove
- • Agent can categorize without human context
- • This workflow scales to thousands of records
- • Agent can create new categories when needed
- • Automated rollback is possible via MCP
Reproducibility
Prerequisites
- Claude Code CLI installed
- Airtable account with API access (Personal Access Token)
- airtable-mcp-server npm package
- Knowledge of target category definitions
Steps to Reproduce
- Configure MCP server in
~/.claude.json(see Configuration above) - Restart Claude Code to load MCP tools
- Identify miscategorized records via human review or query
- Query category table to obtain linked record IDs
- Update records with corrected category IDs
- Verify changes in Airtable and downstream systems
Expected Challenges
- MCP server may not load from project-level config—use global config
- Linked record fields require ID lookup, not human-readable names
- Category definitions may be tribal knowledge—document them first
Conclusion
The hypothesis is validated. Claude Code with MCP tools can participate meaningfully in the hermeneutic circle of data curation. In this experiment, 8 templates were successfully recategorized through conversational interaction—demonstrating that AI agents can:
- Query and interpret data (understanding parts: individual templates)
- Apply category definitions (understanding whole: "Public services = government")
- Propose and execute corrections (synthesis: remove miscategorizations)
- Learn from human feedback (iteration: preserve appropriate secondary categories)
"The bridge is a thing that gathers."
— Heidegger, Building Dwelling Thinking
MCP serves as a bridge—gathering human intent, agent capability, and system state into a unified workflow. The protocol recedes; the curation emerges.
Pattern Validated for .agency
This workflow is now a validated pattern for client service delivery. Airtable MCP enables data curation tasks that previously required manual database manipulation. The pattern: Human identifies issue → Agent queries and interprets → Human confirms → Agent executes.