MCP Blog Server
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., "@MCP Blog Servershow me all blog posts"
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.
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
uvpackage manager (recommended) orpip
๐ฆ Installation
Clone the repository:
git clone <your-repo-url> cd mcp-by-gokoguaCreate a virtual environment:
python3.11 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall 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.pyAvailable Tools
The server provides three main tools:
get_blogs()- Retrieves all blog posts from the APIsearch_blogs(query: str)- Searches for blogs matching the given querycreate_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:
Start the server using
uv run main.pyUse an MCP-compatible client to connect
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
Fork the repository
Create a feature branch
Make your changes
Submit a pull request
๐ License
This project is open source and available under the MIT License.
๐ Support
If you encounter any issues:
Check that Python 3.10+ is installed
Verify all dependencies are installed correctly
Ensure the virtual environment is activated
Check the API endpoint is accessible
๐ Related Links
Available Tools
3 toolscreate_blogD
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
TDQS
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.
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.
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.
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.
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.
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.
3 tool updates
v0.1.0- First observed
create_blog - First observed
get_blogs - First observed
search_blogs
TDQS
Scored across 3 tools
Each tool has a distinct purpose: creating a blog, retrieving all blogs, and searching blogs. No overlap.
All tools use consistent verb_noun pattern with underscores.
Three tools is reasonable for a simple blog server, though a bit minimal.
Missing update and delete operations, which are essential for full blog management.
Maintenance
Related MCP Connectors
An MCP server for the BlogCaster project.
Create, edit, organize, publish, and configure JustBlogged blogs from MCP clients.
Hosted MCP for BlogBat: read, write, generate, and publish blog articles and content.
MCP server for Product Management
Related MCP Servers
- FlicenseBqualityDmaintenanceA simple blog API service built with FastMCP that allows users to fetch all blogs, search for blogs by title, and add new blog posts.3-
- FlicenseAqualityDmaintenanceA 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-
- FlicenseAqualityFmaintenanceMCP server that gives AI agents full blog management over a Lontar headless blogging API, enabling listing, reading, drafting, publishing, updating, and deleting posts.8-
- FlicenseNot gradedqualityDmaintenanceDemonstrates 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.-