halans-mcp-server
Deployable to Cloudflare Workers for remote access, leveraging edge computing and durable objects.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@halans-mcp-serversearch for articles about MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Halans Content MCP Server
This MCP (Model Context Protocol) server provides content querying tools for halans.com. It offers two deployment options: a local stdio-based server for direct Claude Desktop integration, and a Cloudflare Workers deployment for remote access.
Available Tools
The MCP server provides four content querying tools:
search_content - Search for specific terms in halans.com content with context
get_section - Retrieve specific sections by title/heading
get_full_content - Get the complete content with optional truncation
get_content_summary - Generate content statistics and table of contents
Related MCP server: Wikipedia MCP Server
Available Resources
The MCP server also exposes three browseable resources:
halans://content - Complete content from halans.com in plain text format
halans://content-summary - Content statistics and hierarchical table of contents
halans://articles-list - Structured JSON list of all blog articles with titles, dates, URLs, and excerpts
Quick Start
Option 1: Local Stdio Server (Recommended)
Clone and install dependencies:
git clone https://github.com/halans/halans-mcp-server
cd halans-mcp-server
npm installConfigure Claude Desktop by adding to your MCP config:
{
"mcpServers": {
"halans-content": {
"command": "node",
"args": ["/path/to/halans-mcp-server/mcp-stdio.js"],
"env": {}
}
}
}Restart Claude Desktop and the tools will be available.
Option 2: Cloudflare Workers Deployment
Prerequisites:
Sign up for a Cloudflare account
Install Wrangler CLI
Authenticate with Cloudflare:
npx wrangler loginDeploy to Cloudflare Workers:
npm run deployThis will deploy your MCP server to a URL like: halans-mcp-server.<your-account>.workers.dev/sse
One-Click Deploy (Alternative):
Cloudflare Workers Features
This MCP server leverages several Cloudflare Workers features:
Edge Computing: Runs close to users worldwide for low latency
Durable Objects: Maintains stateful MCP agent instances
Server-Sent Events: Real-time communication with MCP clients
No Cold Starts: Fast response times with Cloudflare's V8 isolates
Built-in Observability: Monitoring and analytics through Cloudflare dashboard
Worker Configuration
The server exposes two endpoints:
/sse- Server-Sent Events endpoint for MCP communication/mcp- Standard MCP endpoint
Configuration is managed in wrangler.jsonc:
{
"name": "halans-mcp-server",
"main": "src/index.ts",
"compatibility_date": "2025-03-10",
"durable_objects": {
"bindings": [
{
"class_name": "MyMCP",
"name": "MCP_OBJECT"
}
]
}
}Development
Local Development with Wrangler
# Start the Cloudflare Workers dev server
npm run dev
# Run TypeScript type checking
npm run type-check
# Format code
npm run format
# Fix linting issues
npm run lint:fixLocal Development with Stdio Server
# Test the stdio server directly
node mcp-stdio.js
# The server will wait for MCP protocol messages on stdinProject Structure
├── src/
│ └── index.ts # Cloudflare Workers MCP server
├── mcp-stdio.js # Local stdio MCP server
├── package.json # Dependencies and scripts
├── wrangler.jsonc # Cloudflare Workers config
├── CLAUDE.md # Claude-specific documentation
└── README.md # This fileContent Sources
The server uses two different content sources with separate 5-minute caching:
Tools Content (https://halans.com/llms-full.txt)
Used by search_content, get_section, get_full_content, and get_content_summary tools:
Complete blog content with full article text
Technical documentation and detailed explanations
Comprehensive project descriptions
Full conference notes and insights
Resources Content (https://halans.com/llms.txt)
Used by the browseable resources (halans://content, etc.):
Sorted chronological list of articles (year descending)
Article titles, publication dates, and URLs
Structured metadata for easy browsing
Content excerpts and summaries
Test locally with MCP Inspector
npx @modelcontextprotocol/inspectorConnecting to Claude Desktop
For Local Stdio Server
Add this to your Claude Desktop MCP configuration:
{
"mcpServers": {
"halans-content": {
"command": "node",
"args": ["/absolute/path/to/mcp-stdio.js"],
"env": {}
}
}
}For Deployed Workers (with mcp-remote)
{
"mcpServers": {
"halans-content": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-worker-url.workers.dev/sse"
]
}
}
}Connect to Cloudflare AI Playground
For deployed Workers, you can test the MCP server using Cloudflare AI Playground:
Enter your deployed MCP server URL (
your-worker-url.workers.dev/sse)Test the content querying tools directly
Run MCP inspector
npx @modelcontextprotocol/inspector@latestDeployment Customization
Custom Domain (Optional)
To use a custom domain with your Cloudflare Worker:
Add a custom domain in your Cloudflare dashboard
Update
wrangler.jsoncwith your domain:
{
"routes": [
{
"pattern": "mcp.yourdomain.com/*",
"custom_domain": true
}
]
}Environment Variables
Add environment variables for configuration:
# Set environment variables
npx wrangler secret put API_KEY
npx wrangler secret put CONTENT_URLThen access them in your Worker:
// In src/index.ts
const toolsContentUrl = env.TOOLS_CONTENT_URL || "https://halans.com/llms-full.txt";
const resourcesContentUrl = env.RESOURCES_CONTENT_URL || "https://halans.com/llms.txt";Troubleshooting
Common Issues
MCP Connection Failed
Ensure the server URL is correct
Check that the Worker is deployed and accessible
Verify Claude Desktop configuration
Content Fetching Errors
Check if
https://halans.com/llms-full.txtandhttps://halans.com/llms.txtare accessibleVerify network connectivity from the Worker
Monitor Cloudflare logs for fetch errors
Development Server Issues
Run
npm installto ensure dependencies are installedCheck Node.js version compatibility (v18+ recommended)
Use
npm run type-checkto identify TypeScript errors
Monitoring
View Worker logs in the Cloudflare dashboard
Use
wrangler tailfor real-time log monitoringMonitor MCP server logs in Claude Desktop
Customization
To add your own tools:
Stdio server: Edit
mcp-stdio.jsand add new tool handlersWorkers server: Edit
src/index.tsand add tools in theinit()method
Example: Adding a New Tool
// In src/index.ts or mcp-stdio.js
this.server.tool(
"new_tool",
{
parameter: z.string().describe("Tool parameter")
},
async ({ parameter }) => {
// Tool implementation
return {
content: [{ type: "text", text: `Result: ${parameter}` }]
};
}
);This server cannot be deployed
Maintenance
Related MCP Connectors
Search, read, and edit your Halite recipe collection and shopping lists.
Read-only access to MojaLab.com blog content: search and read posts, pages and tags as Markdown.
Multi-engine scholarly research server for search, traversal, full text, and reading lists.
Web search and page extraction across several independent search providers.
1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables querying and retrieving content from electricvehicle.life, including search, section retrieval, full content, and summaries.-
- FlicenseNot gradedqualityDmaintenanceEnables searching and retrieving Wikipedia content across multiple languages, including article summaries, sections, coordinates, and related topics.-
- AlicenseNot gradedqualityCmaintenanceEnables searching and retrieving details from the Harvard Art Museums collection.6 npm2MIT
- AlicenseAqualityDmaintenanceProvides programmatic access to the New South Wales Parliament Hansard API, enabling search and retrieval of parliamentary transcripts, debates, and proceedings from 1991 to present.123MIT