Skip to content

Commit

Permalink
🔨 rename binary to go-go-mcp
Browse files Browse the repository at this point in the history
  • Loading branch information
wesen committed Feb 10, 2025
1 parent 807663f commit f23aae5
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 28 deletions.
61 changes: 35 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,50 +134,58 @@ The server implements the MCP specification methods:

## Running

### Building the Client and Server
### Building the Binary

First, build both the client and server:
Build the binary which includes both server and client functionality:

```bash
# Build the client
go build -o mcp-client ./cmd/go-go-mcp/client/main.go

# Build the server
go build -o mcp-server ./cmd/go-go-mcp/main.go
go build -o go-go-mcp ./cmd/mcp-server/main.go
```

### Basic Usage

The client supports two transport types:
- `command` (default): Launch and communicate with an MCP server process
- `sse`: Server-Sent Events over HTTP for web applications
The binary can be run in two modes:
- Server mode (default): Run as an MCP server process
- Client mode: Use client commands to interact with an MCP server

#### Server Mode

Start the server with either stdio or SSE transport:

```bash
# Start with stdio transport (default)
./go-go-mcp start --transport stdio

# Start with SSE transport
./go-go-mcp start --transport sse --port 3001
```

#### Using Command Transport (Default)
#### Client Mode

The command transport is the default way to interact with an MCP server:
Use the client subcommand to interact with an MCP server:

```bash
# List available prompts (uses default command: mcp-server start --transport stdio)
./mcp-client --command ./mcp-server prompts list
# List available prompts (uses default server: go-go-mcp start --transport stdio)
./go-go-mcp client prompts list

# List available tools
./mcp-client --command ./mcp-server tools list
./go-go-mcp client tools list

# Execute a prompt with arguments
./mcp-client --command ./mcp-server prompts execute hello --args '{"name":"World"}'
./go-go-mcp client prompts execute hello --args '{"name":"World"}'

# Call a tool with arguments
./mcp-client tools call echo --args '{"message":"Hello, MCP!"}'
./go-go-mcp client tools call echo --args '{"message":"Hello, MCP!"}'
```

You can customize the server command and arguments if needed:

```bash
# Use a different server binary with custom arguments
./mcp-client --command custom-server,start,--debug,--port,8001 prompts list
./go-go-mcp client --command custom-server,start,--debug,--port,8001 prompts list

# Use a server with a specific configuration
./mcp-client -c mcp-server,start,--config,config.yaml prompts list
./go-go-mcp client -c go-go-mcp,start,--config,config.yaml prompts list
```

#### Using SSE Transport
Expand All @@ -186,26 +194,26 @@ For web-based applications, use the SSE transport:

```bash
# Start the server with SSE transport
./mcp-server start --transport sse --port 3001
./go-go-mcp start --transport sse --port 3001

# In another terminal, connect using the client
./mcp-client --transport sse --server http://localhost:3001 prompts list
./go-go-mcp client --transport sse --server http://localhost:3001 prompts list
```

### Debug Mode

Add the `--debug` flag to enable detailed logging:

```bash
./mcp-client --debug prompts list
./go-go-mcp client --debug prompts list
```

### Version Information

Check the version of the client:
Check the version:

```bash
./mcp-client version
./go-go-mcp version
```

### Project Structure
Expand All @@ -218,8 +226,9 @@ Check the version of the client:
- `server/` - Server implementation
- `doc/` - Documentation
- `cmd/`
- `mcp-client/` - MCP client implementation
- `mcp-server/` - MCP server implementation
- `mcp-server/` - MCP server and client implementation
- `cmds/` - Command implementations
- `client/` - Client subcommands

### Dependencies

Expand Down
27 changes: 25 additions & 2 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,29 @@ Fixed the join syntax in the GitHub issues list command template to use proper G

Merged the MCP client functionality into the server as a subcommand for better code organization and maintainability.

- Moved client commands to `cmd/go-go-mcp/cmds/client/`
- Moved client commands to `cmd/mcp-server/cmds/client/`
- Added client subcommand to server binary
- Updated package names and imports
- Updated package names and imports

## Update README for Merged Client/Server

Updated the README.md to reflect the new unified client/server architecture:
- Updated build instructions to show single binary build
- Added documentation for server and client modes
- Updated all command examples to use client subcommand
- Updated project structure to show new organization

## Rename Binary to go-go-mcp

Renamed the binary from mcp-server to go-go-mcp for consistency:
- Updated build instructions to use go-go-mcp as binary name
- Updated all command examples to use new binary name
- Updated configuration examples

## Update README for Merged Client/Server

Updated the README.md to reflect the new unified client/server architecture:
- Updated build instructions to show single binary build
- Added documentation for server and client modes
- Updated all command examples to use client subcommand
- Updated project structure to show new organization

0 comments on commit f23aae5

Please sign in to comment.