Skip to main content
Glama
howbizarre

B2Bizzio MCP Server

by howbizarre
README.md
# 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.

## 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:
   ```bash
   npm install
   ```

3. Build the TypeScript project:
   ```bash
   npm run build
   ```

## Running the Server

### As a Standalone Server
```bash
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`

```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
```typescript
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
```typescript
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
```typescript
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](https://github.com/modelcontextprotocol/inspector):

```bash
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.

## Links

- [Model Context Protocol Documentation](https://modelcontextprotocol.io/)
- [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)

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