Skip to main content
Glama
bats64mgutsi

Next Role MCP Proxy

by bats64mgutsi

NextRole MCP Proxy

A Model Context Protocol (MCP) proxy server that provides access to NextRole's professional CV and cover letter tailoring services. This proxy allows MCP-compatible clients to interact with NextRole's hosted services.

Features

  • Professional CV Tailoring: Customize your CV for specific job applications

  • Cover Letter Generation: Create tailored cover letters that match job requirements

  • Multiple Service Tiers: Entry, Mid, and Senior level professional services

  • Credit Management: Track and manage your service credits

  • International Support: Available for users worldwide

Related MCP server: LinkedIn MCP Server

Installation

From source

Clone the repository and run the install script. It will install dependencies, build the project, and print the MCP client configuration JSON for you.

git clone https://github.com/bats64mgutsi/nextrole-mcp-proxy.git
cd nextrole-mcp-proxy

Linux / macOS:

bash install.sh

Windows (PowerShell):

.\install.ps1

At the end of the script, you'll see the MCP client configuration JSON with the correct path to your local installation. Copy it into your MCP client's configuration file.

With npx (no local install)

Add to your MCP client configuration:

{
  "mcpServers": {
    "nextrole": {
      "command": "npx",
      "args": ["nextrole-mcp-proxy"]
    }
  }
}

Usage

Available Tools

1. get_pricing

Get the available career-level tiers and their product IDs. You must call this before placing an order to get the correct productId.

Usage:

What are your different CV tailoring packages?

Response:

[
  {
    "CountryCode": "ZA", 
    "ServiceTier": "Entry Level",
    "ProductId": 1
  },
  {
    "CountryCode": "ZA",
    "ServiceTier": "Mid Level", 
    "ProductId": 2
  },
  {
    "CountryCode": "ZA",
    "ServiceTier": "Senior Level",
    "ProductId": 3
  }
]

2. get_credits

Check how many credits a customer has remaining. Each order costs 1 credit.

Parameters:

  • phoneNumber (required): Customer phone number including country code (e.g. +27831234567)

Usage:

How many credits do I have left? My phone number is +27831234567

Response:

{
  "credits": 5
}

3. place_order

Place an order for a tailored CV and cover letter. The order typically takes about 15 minutes to complete. The customer will receive SMS notifications when the order is confirmed and when documents are ready. Costs 1 credit per order.

Parameters:

  • customerPhone (required): Customer phone number including country code, must start with '+' (e.g. +27831234567)

  • customerFirstName (required): Customer's first name

  • customerLastName (required): Customer's last name

  • cvMarkdown (required): The customer's current CV in markdown format

  • productId (required): The product ID matching the customer's career level (call get_pricing first)

  • jobDescription (required): The full job description the customer is applying for

Usage:

I need to tailor my CV for a Junior Software Developer position. My phone number is +27831234567, my name is John Smith, and here's my current CV in markdown:

# John Smith
## Experience
- Junior Developer at TechCorp (2023-present)

The job description is: We are seeking a Junior Software Developer to join our team with React and Node.js experience.

Response:

{
  "orderKey": "550e8400-e29b-41d4-a716-446655440000",
  "status": "success",
  "message": "Order placed successfully. SMS notifications sent."
}

Example Use Cases

Entry Level Professional

Perfect for recent graduates and early-career professionals:

I'm Sarah Johnson (+44207123456) and need my CV tailored for this graduate software engineer role: Graduate Software Engineer requiring Python programming and problem-solving skills. 

My current CV:
# Sarah Johnson
## Education
- Computer Science Degree, University of London (2024)
## Projects  
- Built a web application using Python and Flask

Career Change

For professionals transitioning between industries:

I'm transitioning from finance to tech and need my CV (+27831112233, Jane Doe) tailored for this software developer role: Full Stack Developer position requiring JavaScript, React, and database skills.

Current CV:
# Jane Doe
## Background
- Financial Analyst at Bank Corp
- Recently completed coding bootcamp

Senior Executive

For C-level and senior management positions:

I'm Michael Chen from the US (+1555123456) and need my executive CV customized for this CTO role: Chief Technology Officer requiring strategic leadership and team management skills.

My current CV:
# Michael Chen
## Executive Summary
Senior Technology Leader with 15+ years experience
## Experience
- VP Engineering at Tech Startup (2020-2024)

Service Tiers

  • Entry Level (Product ID: 1): For recent graduates and early-career professionals

  • Mid Level (Product ID: 2): For experienced professionals with 3-10 years experience

  • Senior Level (Product ID: 3): For senior professionals, managers, and executives

Privacy & Terms

By using this service, you agree to NextRole's:

Development

Building

npm run build

Running in development

npm run dev

Testing locally

npm start

Architecture

This is a lightweight proxy that forwards MCP requests to NextRole's hosted service at https://api.nextrole.co.za/firstroleprod-mcp/mcp. The proxy:

  • Translates MCP protocol requests

  • Forwards them to the hosted service

  • Returns formatted responses to MCP clients

  • Handles errors and connection issues

Requirements

  • Node.js 18.0.0 or higher

  • Internet connection to reach NextRole's hosted service

License

MIT License - see LICENSE file for details.

Support

For technical issues with this proxy, please open an issue on GitHub. For service-related questions, contact NextRole support through their official channels.

Available Tools

3 tools
get_creditsA

Check how many credits a customer has remaining. Each order to tailor a CV and cover letter costs 1 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
phoneNumberYesCustomer phone number including country code (e.g. +27831234567)

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It adds valuable domain context explaining what credits are used for (1 per CV/cover letter order), but lacks operational details like error handling, what happens if phone number not found, or caching behavior.

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?

Perfectly concise with two sentences. First states purpose immediately; second provides essential domain context about credit costs. Zero redundancy.

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

Completeness4/5

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

For a simple single-parameter read operation without output schema, the description is nearly complete. It explains the credit system which is essential domain context. Minor gap: doesn't hint at return value structure or error states.

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 has 100% coverage with phoneNumber fully documented. Description mentions 'customer' which loosely maps to the parameter, but adds no additional semantics, format constraints, or examples beyond what the schema already provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Excellent clarity: specifies the verb 'Check', resource 'credits', and scope 'remaining'. The second sentence distinguishes the domain context (CV/cover letter tailoring) which differentiates this from generic balance checking tools.

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

Usage Guidelines3/5

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

Provides implied usage context by explaining that orders cost 1 credit, suggesting this should be checked before placing orders. However, lacks explicit when-to-use guidance or direct comparison to siblings (get_pricing, place_order).

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

get_pricingA

Get the available career-level tiers and their product IDs. Different products are designed for different career phases, so the customer should pick the tier that best matches where they are in their career. You must call this before placing an order to get the correct productId.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior3/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 successfully explains the business logic (career phases) and workflow ordering (must precede place_order), but lacks technical behavioral traits such as whether the operation is idempotent, cached, or rate-limited, and provides only high-level description of return values without structural details.

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 consists of three efficiently structured sentences: the first defines the core action, the second provides business context for selection, and the third states the workflow prerequisite. Every sentence earns its place with no redundant or filler content.

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

Completeness4/5

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

Despite lacking an output schema, the description partially compensates by explaining that the tool returns 'career-level tiers and their product IDs'. Combined with the explicit workflow integration (prerequisite for place_order), this provides sufficient context for a zero-parameter lookup tool, though specific return structure details would strengthen it further.

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 input schema contains zero parameters. Per evaluation rules, zero-parameter tools receive a baseline score of 4. The description appropriately does not mention parameters since none exist.

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

Purpose5/5

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

The description explicitly states the tool retrieves 'career-level tiers and their product IDs' using the specific verb 'Get'. It distinguishes itself from sibling tools by explaining its role as a prerequisite for place_order (getting productId), clearly differentiating it from get_credits.

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

Usage Guidelines5/5

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

The description provides explicit workflow guidance: 'You must call this before placing an order to get the correct productId.' It also includes selection criteria ('customer should pick the tier that best matches where they are in their career'), giving clear context on when and how to use the results.

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

place_orderA

Place an order for a tailored CV and cover letter. The order typically takes about 15 minutes to complete. The customer will receive an SMS confirming their order and another SMS when their documents are ready to download. Costs 1 credit per order.

ParametersJSON Schema
NameRequiredDescriptionDefault
customerPhoneYesCustomer phone number including country code, must start with '+' (e.g. +27831234567). SMS notifications will be sent to this number.
customerFirstNameYesCustomer's first name
customerLastNameYesCustomer's last name
cvMarkdownYesThe customer's current CV in markdown format. This is used as the basis for tailoring their documents.
productIdYesThe product ID that matches the customer's career level. Call get_pricing first to see available career-level tiers and their product IDs.
jobDescriptionYesThe full job description the customer is applying for. The CV and cover letter will be tailored to match this role.

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, effectively disclosing key behavioral traits: processing time (~15 minutes), notification mechanism (two SMS messages), and cost (1 credit). It omits idempotency or error handling details.

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?

Four tightly constructed sentences with zero waste: purpose, timing, notifications, and cost. Information is front-loaded and every sentence earns its place.

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

Completeness4/5

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

Given the 6-parameter complexity and lack of annotations/output schema, the description is reasonably complete, covering the user journey (order → SMS confirmation → SMS completion). It could strengthen by noting the prerequisite check for credits.

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 input schema has 100% description coverage, establishing a baseline of 3. The description text does not add parameter-specific semantics (e.g., explaining markdown format or productId sourcing), relying entirely on the schema.

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

Purpose5/5

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

The description opens with a specific verb ('Place') and clear resource ('order for a tailored CV and cover letter'), immediately distinguishing it from the read-only sibling tools get_credits and get_pricing.

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

Usage Guidelines3/5

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

The description mentions 'Costs 1 credit per order,' implying a prerequisite to check credits, but lacks explicit guidance on when to use versus alternatives or a required workflow (e.g., calling get_pricing first to obtain the productId).

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

TDQS

A4.1/5.0
Disambiguation5/5

Each tool serves a distinct purpose with clear boundaries: get_credits checks account balance, get_pricing retrieves product catalog, and place_order executes transactions. No functional overlap exists between the three operations.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case convention. The naming clearly distinguishes between retrieval operations (get_) and the transactional operation (place_).

Tool Count4/5

Three tools is minimal but reasonable for a focused ordering workflow. While the surface is thin, it covers the essential path from balance check to order completion without unnecessary bloat.

Completeness3/5

The toolset supports order creation but lacks order management capabilities such as status checking, order history retrieval, or cancellation. Once place_order is called, the agent has no visibility into order progress, creating a dead end for follow-up queries.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables seamless interaction with LinkedIn for job applications, profile retrieval, feed browsing, and resume analysis through natural language commands.
    31
  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes a personalized AI agent that reads your resume and provides intelligent responses about your professional background through a standardized MCP server interface with RAG capabilities.
    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/bats64mgutsi/nextrole-mcp-proxy'

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