Skip to main content
Glama
hendrickcastro

MCP ContentEngineering

MCP ContentEngineering - Simplified

License: MIT Node.js Version TypeScript Jest MCP Protocol Claude Desktop Cursor IDE Maintenance

A simplified Model Context Protocol (MCP) server for raw Markdown content access. This server provides a single powerful tool for accessing raw Markdown files or combining multiple files from directories without any processing or parsing.

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 18+ and npm

  • Markdown files or directories containing .md files

  • MCP-compatible client (like Claude Desktop, Cursor IDE, or any MCP client)

Installation & Configuration

No installation needed! Just configure your MCP client:

For Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "file",
        "CONTENT_SOURCE_PATH": "/path/to/your/business-rules.md"
      }
    }
  }
}

For Cursor IDE:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "directory",
        "CONTENT_SOURCE_PATH": "/path/to/your/docs/"
      }
    }
  }
}

Option 2: Local Development Installation

  1. Clone and setup:

git clone https://github.com/hendrickcastro/MCPContentEngineering.git
cd MCPContentEngineering
npm install
npm run build
  1. Configure content source: Create a .env file with your content configuration:

# For single file
CONTENT_SOURCE_TYPE=file
CONTENT_SOURCE_PATH=/docs/architecture-guide.md

# For directory with multiple .md files
CONTENT_SOURCE_TYPE=directory
CONTENT_SOURCE_PATH=/docs/knowledge-base/
  1. Configure MCP client with local path:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "node",
      "args": ["path/to/MCPContentEngineering/dist/server.js"]
    }
  }
}

Related MCP server: MarkItDown MCP

๐Ÿ› ๏ธ Available Tool

MCPContentEngineering provides 1 specialized tool for Markdown content access:

๐Ÿ”„ Raw Content Access - content_get_raw

Get raw Markdown content without any processing, parsing, or indexing. Perfect for accessing business rules, documentation, or knowledge bases exactly as they are written.

Features:

  • โœ… Single File Mode: Returns exact file content

  • โœ… Directory Mode: Combines ALL .md files with clear separators

  • โœ… Recursive Search: Finds .md files in subdirectories

  • โœ… No Processing: Content returned exactly as written

  • โœ… Metadata Included: File size, modification date, source info

๐Ÿ”ง Configuration Types & Examples

MCPContentEngineering supports two content source types with simple configuration:

๐Ÿ“‹ Environment Variables

Variable

Description

Values

Required

CONTENT_SOURCE_TYPE

Content source type

file | directory

Yes

CONTENT_SOURCE_PATH

Path to file or directory

Absolute or relative path

Yes

๐Ÿ”ง Configuration Examples

1. ๐Ÿ“„ Single Business Rules File

Perfect for accessing a specific rules or documentation file:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "file",
        "CONTENT_SOURCE_PATH": "/docs/business-rules.md"
      }
    }
  }
}

2. ๐Ÿ“ Knowledge Base Directory

Combines all Markdown files from a documentation directory:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "directory",
        "CONTENT_SOURCE_PATH": "/company/knowledge-base/"
      }
    }
  }
}

3. ๐Ÿ—๏ธ Architecture Documentation

Access comprehensive architecture documentation:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "directory",
        "CONTENT_SOURCE_PATH": "/docs/architecture/"
      }
    }
  }
}

4. ๐Ÿ“ Project Standards & Patterns

Access coding standards and design patterns:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "npx",
      "args": ["-y", "hendrickcastro/MCPContentEngineering"],
      "env": {
        "CONTENT_SOURCE_TYPE": "file",
        "CONTENT_SOURCE_PATH": "/standards/coding-patterns.md"
      }
    }
  }
}

5. ๐Ÿ”„ Local Development Configuration

For local development and testing:

{
  "mcpServers": {
    "mcp-content-engineering": {
      "command": "node",
      "args": ["./MCPContentEngineering/dist/server.js"],
      "env": {
        "CONTENT_SOURCE_TYPE": "directory",
        "CONTENT_SOURCE_PATH": "./docs"
      }
    }
  }
}

๐Ÿ“‹ Usage Examples

Single File Access

// Returns exact content of business-rules.md
const result = await content_get_raw({});

console.log(result.data.content);
// Output: Raw markdown content exactly as written
// "# Business Rules\n\n## Validation Rules\n..."

console.log(result.data.source_info);
// Output: "Single file: /docs/business-rules.md"

console.log(result.data.total_files);
// Output: 1

Directory Combination

// Combines all .md files from directory
const result = await content_get_raw({});

console.log(result.data.content);
// Output: Combined content with separators:
/*
<!-- ========== ARCHIVO: rules.md ========== -->
# Business Rules
...

<!-- ========== ARCHIVO: patterns.md ========== -->
# Design Patterns
...
*/

console.log(result.data.source_info);
// Output: "Combined 2 .md files from: /docs/"

console.log(result.data.total_files);
// Output: 2

Response Structure

interface ContentResponse {
  content: string;           // Raw markdown content
  source_info: string;       // Source description
  total_files: number;       // Number of files processed
  size_bytes: number;        // Total content size
  last_modified: string;     // ISO timestamp of latest modification
}

๐Ÿ’ก Use Cases

1. ๐Ÿ“š Enterprise Knowledge Base

Access company documentation, policies, and procedures:

{
  "CONTENT_SOURCE_TYPE": "directory",
  "CONTENT_SOURCE_PATH": "/company/knowledge-base/"
}

2. ๐Ÿ—๏ธ Architecture Documentation

Provide AI models with architectural guidelines and patterns:

{
  "CONTENT_SOURCE_TYPE": "file",
  "CONTENT_SOURCE_PATH": "/docs/architecture-layers-summary.md"
}

3. ๐Ÿ“ Coding Standards

Access development standards and best practices:

{
  "CONTENT_SOURCE_TYPE": "directory",
  "CONTENT_SOURCE_PATH": "/standards/"
}

4. ๐Ÿ” Business Rules Engine

Provide specific business rules for decision-making:

{
  "CONTENT_SOURCE_TYPE": "file",
  "CONTENT_SOURCE_PATH": "/rules/validation-rules.md"
}

5. ๐Ÿ“– Project Documentation

Combine all project documentation for comprehensive context:

{
  "CONTENT_SOURCE_TYPE": "directory",
  "CONTENT_SOURCE_PATH": "/project/docs/"
}

๐Ÿšจ Troubleshooting Common Issues

File/Directory Not Found

  • Issue: File not found or Directory not found

  • Solution: Verify the path exists and is accessible

  • Check: Use absolute paths for clarity

No .md Files Found

  • Issue: No .md files found in directory

  • Solution: Ensure directory contains .md files

  • Note: Searches recursively in subdirectories

Permission Errors

  • Issue: Permission denied when accessing files

  • Solution: Ensure read permissions on files/directories

  • Check: File ownership and access rights

Configuration Issues

  • Issue: CONTENT_SOURCE_PATH not configured

  • Solution: Set both required environment variables

  • Required: CONTENT_SOURCE_TYPE and CONTENT_SOURCE_PATH

๐Ÿงช Testing

Run the comprehensive test suite:

npm test

The test suite includes:

  • โœ… Unit Tests: Temporary file testing with various scenarios

  • โœ… Real Tests: Actual architecture documentation testing

  • โœ… Error Handling: Comprehensive error case coverage

  • โœ… Content Validation: JSON serialization and data structure validation

Test Results:

Test Suites: 2 passed, 2 total
Tests:       11 passed, 11 total

๐Ÿ—๏ธ Architecture

Project Structure

MCPContentEngineering/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ __tests__/              # Comprehensive test suite
โ”‚   โ”‚   โ”œโ”€โ”€ unit.test.ts        # Unit tests with temp files
โ”‚   โ”‚   โ””โ”€โ”€ real.test.ts        # Real file testing
โ”‚   โ”œโ”€โ”€ tools/                  # Tool implementation
โ”‚   โ”‚   โ”œโ”€โ”€ contentOperations.ts # Single tool: content_get_raw
โ”‚   โ”‚   โ”œโ”€โ”€ types.ts            # Type definitions
โ”‚   โ”‚   โ””โ”€โ”€ index.ts            # Tool exports
โ”‚   โ”œโ”€โ”€ server.ts               # MCP server setup
โ”‚   โ”œโ”€โ”€ tools.ts                # Tool definitions and schemas
โ”‚   โ””โ”€โ”€ mcp-server.ts           # Tool re-exports
โ”œโ”€โ”€ dist/                       # Compiled JavaScript output
โ””โ”€โ”€ package.json               # Dependencies and scripts

Key Features

  • โšก Zero Processing: Content returned exactly as written

  • ๐Ÿ“ Recursive Search: Finds .md files in all subdirectories

  • ๐Ÿ”„ File Combination: Intelligent merging with clear separators

  • ๐Ÿ“Š Rich Metadata: Comprehensive file and content information

  • ๐Ÿ›ก๏ธ Error Handling: Robust error handling and validation

  • ๐Ÿ”ง Simple Configuration: Just two environment variables

๐Ÿ“ Important Notes

  • File Types: Only processes .md (Markdown) files

  • Content Preservation: Returns content exactly as written - no processing

  • Directory Mode: Recursively finds ALL .md files in subdirectories

  • File Separators: Clear HTML comment separators when combining files

  • Encoding: Assumes UTF-8 encoding for all files

  • Security: Read-only operations only - no file modifications

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Make your changes and add tests

  4. Ensure all tests pass (npm test)

  5. Commit your changes (git commit -m 'Add amazing feature')

  6. Push to the branch (git push origin feature/amazing-feature)

  7. Open a Pull Request

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

๐Ÿท๏ธ Tags & Keywords

Content Management: markdown documentation knowledge-base content-access raw-content file-processing text-processing document-management

MCP & AI: model-context-protocol mcp-server mcp-tools ai-tools claude-desktop cursor-ide anthropic llm-integration ai-content intelligent-content

Technology: typescript nodejs npm-package cli-tool file-system markdown-reader content-sdk text-api file-api content-connector

Use Cases: business-rules architecture-docs coding-standards project-docs knowledge-management content-retrieval documentation-access standards-access rule-engine content-automation


๐ŸŽฏ MCPContentEngineering provides simple, direct access to raw Markdown content through the Model Context Protocol. Perfect for AI models that need access to business rules, documentation, or knowledge bases without any processing overhead! ๐Ÿš€

Available Tools

1 tool
content_get_rawB

Get raw markdown content without any processing. If source is a file, returns that file. If source is a directory, combines ALL .md files into one content with separators

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathNoNot used - content source is determined by CONTENT_SOURCE_TYPE and CONTENT_SOURCE_PATH environment variables

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses key behavioral traits: returns raw markdown without processing, handles files and directories differently, and combines .md files with separators for directories. However, it lacks details on error handling, permissions, or output format specifics, leaving gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, with two sentences that efficiently convey core functionality. Every sentence adds value by explaining source handling and processing behavior, with no wasted words, though minor structural improvements could enhance clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description provides basic operational context but lacks completeness. It explains what the tool does but omits details on return values, error conditions, or dependencies like environment variables, making it adequate but with clear gaps for a tool with behavioral complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter. The description adds no parameter-specific semantics beyond what the schema provides, such as clarifying how 'file_path' interacts with environment variables. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and resource 'raw markdown content', specifying it returns content without processing. It distinguishes between file and directory sources, though there are no sibling tools to differentiate from. The purpose is specific but lacks sibling comparison context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by explaining behavior for file vs. directory sources, but does not explicitly state when to use this tool versus alternatives. With no sibling tools provided, it cannot offer comparative guidance, leaving usage context partially implied rather than fully articulated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.4/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The tool has a single, clearly defined purpose.

Naming Consistency5/5

A single tool inherently has perfect naming consistency, as there are no other tools to compare against. The name 'content_get_raw' follows a clear verb_noun pattern.

Tool Count2/5

A single tool is too few for a server named 'ContentEngineering', which suggests a broader domain of content manipulation or processing. This minimal set feels incomplete and thin for the implied scope.

Completeness2/5

The tool surface is severely incomplete for content engineering. It only provides raw content retrieval, lacking essential operations like content creation, editing, transformation, analysis, or management, which are expected in this domain.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Converts various file types (documents, images, audio, web content) to markdown format without requiring Docker, supporting PDF, Word, Excel, PowerPoint, images, audio files, web URLs, and more.
    317
    14
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Fast, token-efficient web content extraction tool that converts websites to clean Markdown for AI agents, featuring smart caching, content extraction with Mozilla Readability, and polite crawling capabilities.
    1
    534
    161
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with the ability to lint, validate, and auto-fix Markdown files to ensure compliance with established Markdown standards and best practices.
    6
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hendrickcastro/MCPContentEngineering'

If you have feedback or need assistance with the MCP directory API, please join our Discord server