Skip to main content
Glama

MCP Blog Server

A Model Context Protocol (MCP) server that provides blog management tools through a simple API interface. This server allows AI assistants to interact with a blog system to retrieve, search, and create blog posts.

๐Ÿš€ Features

  • Get Blogs: Retrieve all available blog posts

  • Search Blogs: Search for blogs by name/query

  • Create Blog: Add new blog posts to the system

  • MCP Integration: Fully compatible with MCP-compatible AI assistants

Related MCP server: blogger-mcp

๐Ÿ› ๏ธ Prerequisites

  • Python 3.10 or higher

  • uv package manager (recommended) or pip

๐Ÿ“ฆ Installation

  1. Clone the repository:

    git clone <your-repo-url>
    cd mcp-by-gokogua
  2. Create a virtual environment:

    python3.11 -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install dependencies:

    uv add "mcp[cli]" httpx

๐Ÿ”ง Configuration

Claude Desktop Configuration

To use this MCP server with Claude Desktop, add the following to your claude_desktop_config.json:

{
  "mcpServers": {
    "gokogua-blog": {
      "command": "uv",
      "args": ["--directory", "/path/to/your/project", "run", "main.py"]
    }
  }
}

Note: Replace /path/to/your/project with the actual path to your project directory.

๐Ÿš€ Usage

Running the Server

# Activate virtual environment
source .venv/bin/activate

# Run the MCP server
uv run main.py

Available Tools

The server provides three main tools:

  1. get_blogs() - Retrieves all blog posts from the API

  2. search_blogs(query: str) - Searches for blogs matching the given query

  3. create_blog(name: str) - Creates a new blog post with the specified name

API Endpoint

The server connects to a mock API at:

https://6898a797ddf05523e55f7ac1.mockapi.io/blogs/Blogs

๐Ÿ—๏ธ Project Structure

mcp-by-gokogua/
โ”œโ”€โ”€ main.py              # Main MCP server implementation
โ”œโ”€โ”€ pyproject.toml       # Project configuration and dependencies
โ”œโ”€โ”€ README.md            # This documentation
โ””โ”€โ”€ .venv/               # Virtual environment (created during setup)

๐Ÿ”Œ MCP Integration

This server implements the Model Context Protocol (MCP) using FastMCP, providing a standardized way for AI assistants to interact with external tools and data sources.

Transport

The server uses stdio transport, making it compatible with most MCP clients.

๐Ÿงช Testing

To test the server functionality:

  1. Start the server using uv run main.py

  2. Use an MCP-compatible client to connect

  3. Test the available tools through the MCP interface

๐Ÿ“ Dependencies

  • mcp: Model Context Protocol implementation

  • httpx: Modern HTTP client for Python

  • FastMCP: Fast MCP server framework

๐Ÿค Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request

๐Ÿ“„ License

This project is open source and available under the MIT License.

๐Ÿ†˜ Support

If you encounter any issues:

  1. Check that Python 3.10+ is installed

  2. Verify all dependencies are installed correctly

  3. Ensure the virtual environment is activated

  4. Check the API endpoint is accessible

Available Tools

3 tools
create_blogD
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

get_blogsD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

search_blogsD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

TDQS

D1/5.0
Behavior1/5

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

Tool has no description.

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

Conciseness1/5

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

Tool has no description.

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

Completeness1/5

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

Tool has no description.

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

Parameters1/5

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

Tool has no description.

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

Purpose1/5

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

Tool has no description.

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

Usage Guidelines1/5

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

Tool has no description.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updatesv0.1.0
    • First observedcreate_blog
    • First observedget_blogs
    • First observedsearch_blogs

TDQS

D1.9/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a distinct purpose: creating a blog, retrieving all blogs, and searching blogs. No overlap.

Naming Consistency5/5

All tools use consistent verb_noun pattern with underscores.

Tool Count4/5

Three tools is reasonable for a simple blog server, though a bit minimal.

Completeness2/5

Missing update and delete operations, which are essential for full blog management.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    A custom MCP server for interacting with Google Blogger blogs. It provides tools to list, create, edit, delete, and publish blog posts through Claude Code or Claude Desktop.
    9
    -
  • F
    license
    A
    quality
    F
    maintenance
    MCP server that gives AI agents full blog management over a Lontar headless blogging API, enabling listing, reading, drafting, publishing, updating, and deleting posts.
    8
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Demonstrates a simple MCP client-server setup using fastmcp, with an advanced blog server featuring dynamic resources, tools for post creation and publishing workflows, caching, and async operations.
    -