Skip to main content
Glama
howbizarre

B2Bizzio MCP Server

by howbizarre

B2Bizzio MCP Server

A TypeScript implementation of a Model Context Protocol (MCP) server for B2Bizzio business intelligence services.

Overview

This MCP server provides a foundation for integrating B2Bizzio services with AI applications that support the Model Context Protocol. It includes sample tools, resources, and prompts that can be extended with real business intelligence functionality.

Related MCP server: Python MCP Server Template

Features

Tools

  • get_info: Get information about B2Bizzio services

  • echo: Echo a message back to the user

Resources

  • welcome: Welcome message and server information

Prompts

  • business_analysis: Generate comprehensive business analysis prompts

Prerequisites

  • Node.js 18.0.0 or higher

  • npm or yarn package manager

Installation

  1. Clone or download this project

  2. Install dependencies:

    npm install
  3. Build the TypeScript project:

    npm run build

Running the Server

As a Standalone Server

npm start

With MCP Clients

Claude Desktop

Add the server to your Claude Desktop configuration:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "b2bizzio-mcp-server": {
      "command": "node",
      "args": ["path/to/b2bizzio-mcp/build/index.js"]
    }
  }
}

VS Code with MCP Extension

The project includes a .vscode/mcp.json configuration file for development and testing.

Development

Project Structure

b2bizzio-mcp/
├── src/
│   └── index.ts           # Main server implementation
├── build/                 # Compiled JavaScript output
├── .vscode/
│   └── mcp.json          # MCP configuration for VS Code
├── package.json
├── tsconfig.json
└── README.md

Available Scripts

  • npm run build - Compile TypeScript to JavaScript

  • npm start - Run the compiled server

  • npm run dev - Build and run in one command

Extending the Server

Adding New Tools

server.registerTool(
  "your_tool_name",
  {
    description: "Description of your tool",
    inputSchema: {
      param1: z.string().describe("Parameter description"),
      param2: z.number().optional().describe("Optional parameter")
    }
  },
  async ({ param1, param2 }) => {
    // Your tool implementation
    return {
      content: [
        {
          type: "text",
          text: `Result: ${param1}`
        }
      ]
    };
  }
);

Adding New Resources

server.registerResource(
  "resource_name",
  "your-protocol://resource-uri",
  {
    description: "Resource description",
    mimeType: "text/plain"
  },
  async () => {
    return {
      contents: [
        {
          uri: "your-protocol://resource-uri",
          mimeType: "text/plain",
          text: "Resource content"
        }
      ]
    };
  }
);

Adding New Prompts

server.prompt(
  "prompt_name",
  "Prompt description",
  {
    param1: z.string().describe("Parameter description")
  },
  async ({ param1 }, extra) => {
    return {
      description: `Generated prompt for ${param1}`,
      messages: [
        {
          role: "user",
          content: {
            type: "text",
            text: `Your prompt text here with ${param1}`
          }
        }
      ]
    };
  }
);

Testing

You can test the server using the MCP Inspector:

npx @modelcontextprotocol/inspector node build/index.js

Architecture

This server is built on:

  • @modelcontextprotocol/sdk: Official TypeScript SDK for MCP

  • zod: Schema validation and type safety

  • TypeScript: Type-safe development environment

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

Security Considerations

  • The server runs with the permissions of the user account

  • All tool executions require explicit approval from the MCP client

  • Input validation is performed using Zod schemas

  • Error handling prevents information leakage

Contributing

To contribute to this project:

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests if applicable

  5. Build and test locally

  6. Submit a pull request

License

MIT License - see LICENSE file for details.

Available Tools

2 tools
echoB

Echo a message back to the user

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe message to echo back

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning side effects, output format, safety profile, or any other behavioral traits. This is a significant gap.

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, tight sentence that conveys the essential meaning without extra words. It is appropriately sized and front-loaded.

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?

The tool is very simple, and the description sufficiently conveys the basic behavior. However, it could have explicitly stated the return value or lack of side effects for full completeness, especially given the absence of an output schema or annotations.

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 fully describes the 'message' parameter (100% coverage), so the description adds no new semantic information beyond what is already in the schema. The baseline of 3 applies here.

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 uses a specific verb ('echo') and resource ('message back to the user'), clearly stating the tool's function. It naturally distinguishes from the sibling tool get_info, which is about retrieving information.

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. The description only states the action and gives no context about appropriate use cases, exclusions, or prerequisites.

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

get_infoC

Get information about B2Bizzio services

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesThe topic to get information about

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies a read-only operation but does not disclose return format, potential errors, rate limits, or what happens for invalid topics. The single sentence provides minimal transparency beyond the tool's name.

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

Conciseness3/5

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

The description is a single sentence with no wasted words, which is concise. However, it is under-specified to the point of providing minimal value, so it is not well-structured for an agent to act on. It is neither verbose nor sufficiently informative.

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?

The tool is simple (one parameter, no output schema), but the description still fails to explain what kind of information is available, what valid topic values look like, or what response format to expect. Given the lack of annotations and output schema, the description is too sparse to be considered complete.

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 already provides 100% coverage for the single 'topic' parameter with a basic string description. The tool description adds no additional semantic meaning, so it does not improve on the schema. Baseline 3 is appropriate given the high schema coverage.

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

Purpose3/5

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

The description states a clear verb ('Get') and a resource ('B2Bizzio services'), but remains vague about what kind of information is returned or what 'services' encompasses. It does not meaningfully distinguish this tool from the sibling 'echo' beyond being a generic information lookup.

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?

There is no guidance on when to use this tool versus alternatives, no context for what topics are valid, and no mention of any constraints. The description simply restates the tool's basic function without helping an agent decide when to invoke it.

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. 2 tool updatesv1.0.0
    • First observedecho
    • First observedget_info

TDQS

C2.9/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have completely distinct purposes: get_info retrieves service information, while echo simply returns a message. There is no overlap or ambiguity between them.

Naming Consistency4/5

Both names are lowercase verbs, but get_info follows a verb_noun pattern with an underscore, while echo is just a bare verb. The naming is mostly consistent but shows a minor stylistic deviation.

Tool Count3/5

With only two tools, the server feels thin and minimal. The count is borderline acceptable for a very focused utility, but it may be insufficient for a full-featured service.

Completeness1/5

The domain appears to be B2Bizzio services, but only get_info is relevant to that domain, and echo is an unrelated utility. There are no create, update, delete, or other operational tools, making the surface severely incomplete.

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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A basic MCP server template that provides a foundation for building custom tools, resources, and prompts. Serves as a starting point for developers to create their own MCP server functionality.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A foundational template for building MCP servers in Python using Streamable HTTP transport. Provides example implementations of tools, resources, and prompts to help developers create custom MCP integrations for AI assistants.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A template/boilerplate MCP server for building custom tools and integrations that enable seamless connections between AI applications and external data sources.
    152
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal MCP server with sample tools, resources, and prompts, plus an aggregator to connect multiple external MCP servers and REST APIs, including experimental OAuth support.
    -

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/howbizarre/b2bizzio-mcp'

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