Razi Text Generation

io.github.razikallayiPublished by GitHub account razikallayiv1.0.0Updated Oct 24, 2026

Text generation over MCP: prose, emails, blog outlines, SQL, humanizing, text diffs, fake data.

VerifiedStreamable HTTPWeb executableProductivity & WorkflowDeveloper ToolsAI & ML

Overview

AI-generated overview

A remote MCP server that generates text: prose, email drafts, blog outlines, SQL, humanized rewrites, line diffs and fake test data.

What you can do
Generate filler prose, business email bodies and markdown blog outlines from a short brief or parameters. Rewrite existing text so it reads less like model output, and translate a natural-language request into a SQL statement. Compare two text blocks line by line and report added, removed or modified lines. Produce deterministic placeholder person records for fixtures and testing.
When to use it
Useful when you need quick placeholder copy, an email draft, a blog skeleton, a first-pass SQL query, a line-by-line text comparison, or fake test records without leaving the assistant. Less suited to work that must stay verbatim or be checked against a real database.
Requirements
A remote endpoint at the given host over streamable HTTP; no local package or runtime. An optional Authorization header with a bearer token raises rate limits and attributes usage.
Before you install
Some tools are paid model calls, notably generate_text. Generated SQL is never executed or validated and knows nothing of your schema. Humanized rewrites change wording, so do not use them on quotes, legal copy or code. Fake data is drawn from a fixed word list and is not real personal data. The optional bearer token is a secret. Nothing is sent by the email tool. If you supply a token, it is sent to the provider.

Installation

In SourceWeft

  1. Open Razi Text Generation in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.razikallayi%2Frazi-text/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "razi-text-generation": {
      "type": "http",
      "url": "https://www.razi.pro/api/mcp/text"
    }
  }
}

README

This repository has no README.

Tools

7

humanize_text

Rewrite text you already have so it reads less like model output — fewer stock phrases, more contractions, varied sentence rhythm. Returns JSON { humanizedText }. Meaning is meant to be preserved but wording is not: never use it on text that must stay verbatim, such as quotes, legal copy or code. Use generate_text to produce new prose from a prompt and draft_email for a whole email; this one only transforms text it is given. Requires a signed-in razi.pro account — an anonymous call is rejected with 401. Paid model call; input capped at 10,000 characters and output at roughly 2,000 tokens, so long passages come back truncated. 30 calls per hour per account, and identical inputs may return a cached result.

Parameterstextrequiredlevel

draft_email

Write a business email body from a short brief. Returns JSON { email, cached } containing the body only — no subject line, no recipient, and nothing is sent anywhere. Choose this over generate_text when the output should be a whole email; use humanize_text to rewrite an email you already drafted. Paid model call. Anonymous callers get 3 per hour per IP and are then refused with 401; signed-in callers get 15 per minute per IP. Length is capped at roughly 400 tokens. Identical briefs may return a cached draft.

Parameterstonepromptrequired

generate_blog_outline

Produce a markdown heading structure for a blog post — title, introduction, numbered sections with subsections, conclusion and an FAQ block. Returns JSON { outline } holding the markdown. It writes the skeleton only, not the article: use generate_text for body prose and humanize_text to rework text that already exists. Paid model call, capped at roughly 1,000 tokens, so a large section count yields thinner sections. 10 calls per minute per IP; identical requests may return a cached outline.

Parameterstopicrequiredsections

generate_sql

Translate a natural-language request into a SQL statement. Returns JSON { sql } containing the query text and nothing else — no validation report, no complexity score, and the query is never executed or checked against a real database. It has no knowledge of your schema beyond what the request states, so table and column names are guesses unless you supply them. Review before running, especially anything that writes. Paid model call. Anonymous callers get 3 per hour per IP and are then refused with 401; signed-in callers get 15 per minute per IP. Capped at roughly 500 tokens. Answers are cached, so the same request returns the same query.

Parametersdialectdescriptionrequired

compare_text

Compare two blocks of text line by line. Returns JSON { identical, linesCompared, changeCount, changes[] }, where each change carries a 1-based line number, a change of 'added' | 'removed' | 'modified', and the before/after text. Lines are matched by POSITION, not by content: this is not an LCS diff, so inserting one line near the top reports every following line as modified. There is no character-level or word-level detail, and no unified-diff patch output. Whitespace and case are significant; \r\n and \n line endings are treated the same. Runs locally and costs nothing.

Parameterstext1requiredtext2required

generate_fake_data

Produce placeholder person records for testing and fixtures. Returns JSON { type, count, records } where records is an array of strings, or of objects when type is 'user'. The values are drawn from a fixed word list by index, so they are DETERMINISTIC: the same arguments always return the same records, and asking twice does not give you fresh data. Emails all use example.com and phone numbers all use the +1-555 reserved range. It fabricates people only — for lorem-style prose use generate_text.

Parameterstyperequiredcount

generate_text

Generate filler prose — lorem ipsum, random copy or sentences — for mockups and placeholder content. Returns JSON { text, provider, cached } with the blocks separated by newlines. A language model writes it, so it is a paid call and the output is approximate: type, length and count are phrased into the prompt rather than enforced, and the result will not match a requested character count exactly. For placeholder people (names, emails, addresses) use generate_fake_data, which is exact, free and deterministic. For a real email use draft_email, and to rework existing text use humanize_text. 15 calls per minute per IP; capped at roughly 1,500 tokens; identical requests may return a cached result.

Parameterstyperequiredcountlength

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.