Skip to main content
Glama
pushkarsingh32

Semantic Pen MCP Server

Semantic Pen MCP Server

The official MCP server for Semantic Pen - an advanced AI article generator and SEO content writer. Create, manage, and optimize SEO-friendly articles directly from Claude Code and Cursor with powerful AI automation.

Just add this to your MCP configuration - no installation required!

One-Click Install for Cursor

Add to Cursor

⚠️ Important: After clicking the button above, you'll need to replace your-api-key-here with your actual Semantic Pen API key in the Cursor settings.

The button automatically adds this configuration to your Cursor MCP settings:

{
  "command": "npx",
  "args": ["-y", "semantic-pen-mcp-server@latest"],
  "env": {
    "SEMANTIC_PEN_API_KEY": "your-api-key-here"
  }
}

You just need to replace the API key placeholder with your actual key.

For Claude Code

Add to your ~/.config/claude-code/settings.json:

{
  "mcpServers": {
    "semantic-pen": {
      "command": "npx",
      "args": ["-y", "semantic-pen-mcp-server@latest"],
      "env": {
        "SEMANTIC_PEN_API_KEY": "your-api-key-here"
      }
    }
  }
}

For Cursor

Add to your Cursor MCP settings:

{
  "mcpServers": {
    "semantic-pen": {
      "command": "npx",
      "args": ["-y", "semantic-pen-mcp-server@latest"],
      "env": {
        "SEMANTIC_PEN_API_KEY": "your-api-key-here"
      }
    }
  }
}

Replace your-api-key-here with your actual Semantic Pen API key.

For Windsurf

Add to your ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "semantic-pen": {
      "command": "npx",
      "args": ["-y", "semantic-pen-mcp-server@latest"],
      "env": {
        "SEMANTIC_PEN_API_KEY": "your-api-key-here"
      }
    }
  }
}

Then restart Windsurf to load the new MCP server. Access through Cascade → Configure (hammer icon).

Related MCP server: Publora MCP Server

Features

  • 🤖 AI-Powered Article Creation - Generate SEO-optimized articles with advanced AI automation

  • 📊 SEO Content Optimization - Built-in keyword targeting and SEO best practices

  • 📋 Content Project Management - Organize and manage your AI writing projects efficiently

  • 🔍 Smart Content Search - Find and filter articles across projects instantly

  • Automated Workflow - Streamline your content creation process with AI automation

  • 📄 Full Content Access - Retrieve complete article HTML ready for publishing

  • 🔑 Seamless Authentication - Automatic API verification for hassle-free setup

Available Tools

get_projects

Get all your projects from the article queue

No parameters required

get_project_articles

Get all articles from a specific project

projectId (string): The project ID to get articles from

search_projects

Search projects by name

projectName (string): The project name to search for (partial match)

create_article

Generate SEO-optimized AI articles with advanced customization

targetArticleTopic (string): The article topic/title for AI content generation
targetKeyword (string, optional): Primary SEO keyword for optimization
wordCount (number, optional): Target word count for content length (default: 1000)
language (string, optional): Content language (default: English)
articleType (string, optional): Article format type (default: Article)
toneOfVoice (string, optional): Writing tone and style (default: Professional)

get_article

Get a specific article by ID with full content

articleId (string): The ID of the article to retrieve

Example Usage

  1. Browse Content Projects: Use get_projects to view your AI article generation projects

  2. Explore Project Content: Use get_project_articles to see all AI-generated articles in a specific project

  3. Generate AI Articles: Use create_article with topics like "AI Content Marketing Strategies for 2024"

  4. Access Generated Content: Use get_article to retrieve your SEO-optimized article content ready for publishing

Getting Your API Key

  1. Visit SemanticPen.com - Your AI article writing platform

  2. Create your account or log in to access the AI content generator

  3. Navigate to API settings to generate your content automation key

  4. Copy the API key and configure it for seamless AI article generation

Manual Installation (Alternative)

If you prefer to install manually:

npm install -g semantic-pen-mcp-server

Then use in your MCP config:

{
  "command": "semantic-pen-mcp",
  "env": {
    "SEMANTIC_PEN_API_KEY": "your-api-key-here"
  }
}

Troubleshooting

  • "API key not configured": Make sure SEMANTIC_PEN_API_KEY is set in the env section

  • "API key verification failed": Check that your API key is valid and active

  • Server not starting: Ensure you have Node.js 18+ installed

Support

For issues or questions:

  • Visit SemanticPen.com for support

  • Check your API key is valid and has sufficient credits

  • Ensure stable internet connection for API calls

Available Tools

5 tools
create_articleC

Create a new article

ParametersJSON Schema
NameRequiredDescriptionDefault
targetArticleTopicYesThe topic/title for the article
targetKeywordNoTarget SEO keyword for the article (optional)
wordCountNoTarget word count (default: 1000)
languageNoLanguage for the article (default: English)English
articleTypeNoType of article (default: Article)Article
toneOfVoiceNoTone of voice (default: Professional)Professional

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure but only states the basic action. It doesn't mention what happens after creation (e.g., where the article is stored, if it's editable, permissions needed, or any side effects), leaving significant gaps for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a tool with a clear purpose and well-documented schema, making it easy to parse and understand immediately.

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

Completeness2/5

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

For a creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain what the tool returns, where the article is created, or any behavioral nuances. Given the complexity of a 6-parameter mutation tool, more context is needed to guide the agent effectively.

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 fully documents all 6 parameters with their types, defaults, and descriptions. The description adds no additional parameter information beyond what's in the schema, meeting the baseline for high coverage but not exceeding it.

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 'Create' and the resource 'article', making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_article' or 'get_project_articles' beyond the obvious create vs. get distinction, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, when not to use it, or how it relates to sibling tools like 'get_article' or 'search_projects'. The agent must infer usage from context alone.

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

get_articleC

Get a specific article by ID with full content

ParametersJSON Schema
NameRequiredDescriptionDefault
articleIdYesThe ID of the article to retrieve

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves an article with full content, implying a read-only operation, but doesn't mention potential errors (e.g., invalid ID), permissions required, rate limits, or response format. This leaves significant gaps for a tool with no annotation coverage.

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

Conciseness5/5

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

The description is a single, efficient sentence that front-loads the core action ('Get a specific article') and adds necessary detail ('by ID with full content') without any wasted words. It's appropriately sized for a simple retrieval tool.

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

Completeness2/5

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

Given the tool's simplicity (1 parameter, 100% schema coverage) but lack of annotations and output schema, the description is incomplete. It doesn't address behavioral aspects like error handling or response structure, which are crucial for an agent to use it correctly, especially with no output schema to clarify return values.

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?

The schema description coverage is 100%, with the parameter 'articleId' fully documented in the schema. The description adds no additional meaning beyond implying retrieval by ID, so it meets the baseline of 3 where 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 ('article') with specificity ('by ID with full content'), making the purpose evident. However, it doesn't explicitly differentiate from sibling tools like 'get_project_articles' or 'search_projects', which might also retrieve articles in different contexts.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_project_articles' or 'search_projects'. It lacks context about prerequisites, such as needing an article ID, or exclusions, leaving the agent to infer usage based on the name alone.

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

get_project_articlesC

Get all articles from a specific project by project ID

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe project ID to get articles from

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It states a read operation ('Get') but doesn't cover critical aspects like pagination, rate limits, authentication needs, error handling, or what 'all articles' entails (e.g., filtering, sorting). This leaves significant gaps for a tool that likely returns multiple items.

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

Conciseness5/5

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

The description is a single, clear sentence that front-loads the core action and resource without any wasted words. It efficiently communicates the essential purpose, making it easy for an agent to parse quickly and accurately.

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

Completeness2/5

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

Given the complexity of a list-fetching tool with no annotations and no output schema, the description is incomplete. It lacks details on return format (e.g., array structure, fields), behavioral traits (e.g., pagination, limits), and error cases, which are crucial for an agent to use this tool effectively in real scenarios.

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%, with the single parameter 'projectId' well-documented in the schema. The description adds no additional meaning beyond implying it's used to fetch articles, matching the schema's purpose. This meets the baseline of 3 since 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 action ('Get all articles') and resource ('from a specific project by project ID'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_article' (singular vs. plural) or 'search_projects' (articles vs. projects), missing explicit distinction that would warrant a 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_article' (for a single article) or 'search_projects' (for project-level queries). The description implies usage by mentioning 'project ID' but lacks explicit context, prerequisites, or exclusions, leaving the agent to infer usage scenarios.

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

get_projectsB

Get all projects from your article queue

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states it 'gets all projects' but doesn't disclose behavioral traits such as pagination, rate limits, authentication needs, or what 'all' entails (e.g., all accessible projects). This leaves significant gaps for an agent to understand how the tool behaves.

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

Conciseness5/5

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

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what 'projects' entail, how they are returned, or any constraints like ordering or limits. For a tool that likely returns a list of projects, more context is needed to guide an agent effectively.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema description coverage, so no parameter documentation is needed. The description doesn't add parameter semantics, but this is acceptable given the lack of parameters, aligning with the baseline expectation for zero-parameter tools.

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 action ('Get') and resource ('projects from your article queue'), making the purpose understandable. However, it doesn't differentiate from sibling tools like 'get_project_articles' or 'search_projects', which likely retrieve similar data with different scopes or filters.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'get_project_articles' or 'search_projects'. The description implies it retrieves all projects, but without context on filtering or limitations, usage scenarios are unclear.

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

search_projectsC

Search projects by name

ParametersJSON Schema
NameRequiredDescriptionDefault
projectNameYesThe project name to search for (partial match)

TDQS

C2.9/5.0
Behavior2/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 of behavioral disclosure. It mentions searching by name but doesn't describe traits like pagination, result format, error handling, or performance implications. For a search tool with zero annotation coverage, this is a significant gap 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.

Conciseness5/5

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

The description is a single, efficient sentence with zero waste, front-loading the core functionality ('Search projects by name'). It is appropriately sized for a simple tool with one parameter.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is incomplete. It doesn't explain what the search returns, how results are structured, or any behavioral nuances. For a search tool, this leaves critical gaps in understanding its operation and output.

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?

The schema description coverage is 100%, with the parameter 'projectName' documented as 'The project name to search for (partial match)'. The description adds no additional meaning beyond what the schema provides, such as search syntax or examples, so it meets the baseline score when the schema does the heavy lifting.

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 ('search') and resource ('projects'), and specifies the search criterion ('by name'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_projects', which might also retrieve projects, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'get_projects' or other siblings. It lacks context about use cases, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.

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. Dates show when Glama detected each change.

  1. 5 tool updates
    • First observedcreate_article
    • First observedget_article
    • First observedget_project_articles
    • First observedget_projects
    • First observedsearch_projects

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but 'get_projects' and 'search_projects' could cause some confusion as both retrieve project information, though 'search_projects' adds filtering by name. The article-related tools (create_article, get_article, get_project_articles) are clearly differentiated by their specific actions and scopes.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (e.g., create_article, get_article, get_project_articles, get_projects, search_projects). The structure is uniform throughout, using snake_case and clear action-object pairs, making the tool set predictable and easy to understand.

Tool Count5/5

With 5 tools, the server is well-scoped for managing articles and projects, covering core operations without bloat. Each tool serves a clear purpose, such as creation, retrieval, and listing, which aligns with typical CRUD needs for this domain.

Completeness3/5

The tool set covers basic retrieval and creation for articles and projects, but there are notable gaps in update and delete operations. For example, there is no tool to update or delete articles or projects, which could limit agent workflows that require full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    Official MCP server for PostIdentity - Generate AI-powered social media posts, threads, and replies from any MCP-compatible AI assistant with identity management and refinement capabilities.
    36
    1
    MIT
  • A
    license
    B
    quality
    C
    maintenance
    Official MCP server for Publora that enables AI assistants to schedule posts, manage accounts, and retrieve analytics across multiple social media platforms through natural language.
    18
    16
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    The MCP server for SEO. Find prospects, draft outreach, and monitor backlinks from your AI agent.
    14
    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/pushkarsingh32/semantic-pen-mcp-server'

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