1. Conduid
  2. Developer Tools
  3. Nunu Layout MCP
MCP server · Developer Tools

Nunu Layout MCP

Quickly Build a High-Performance Go MCP Server

Unclaimed MIT last commit a year ago mcpmcp-serverdevtoolsgogolangmcp-client
54Fair

Scored 4 months ago · breakdown

About Nunu Layout MCP

Nunu Layout MCP is an MCP server published by go-nunu in the Developer Tools category: quickly Build a High-Performance Go MCP Server. It has been installed 0 times through Conduid.

The repository has 7 stars and 2 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx nunu-layout-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Nunu Layout MCP

Powered by Claude · Grounded in docs

I know everything about Nunu Layout MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

🚀 Quickly Build a High-Performance Go MCP Server

简体中文介绍

This project is a sample MCP Server built using the Nunu framework and MCP-GO. It allows you to rapidly set up a Golang-based MCP Server and test/debug it using the MCP Inspector tool.

Nunu


🚀 Quick Start: Run the MCP Server in 3 Minutes

1. Create a Project

git clone https://github.com/go-nunu/nunu-layout-mcp.git
# Note: The default project name is nunu-layout-mcp
go install github.com/go-nunu/nunu@latest

nunu new mcp-demo -r https://github.com/go-nunu/nunu-layout-mcp.git

2. Build and Start

Build the MCP Server

cd mcp-demo

go build -ldflags="-s -w" -o ./bin/server ./cmd/server

Start MCP Inspector

MCP Inspector is an interactive developer tool provided by the MCP community for testing and debugging:

npx -y @modelcontextprotocol/inspector ./bin/server
# Requires Node.js to be installed

3. Test the Service

Open your browser: http://127.0.0.1:6274 to test different transport protocols.

Transport Type Address / Parameter Use Case Pros Cons
STDIO ./bin/server CLI tools, desktop apps Simple, secure, no network needed Local only, single client
SSE http://localhost:3001/sse Web real-time comm. Multi-client, real-time, browser friendly HTTP overhead, server-to-client only
StreamableHTTP http://localhost:3002/mcp Web services, APIs Standard protocol, caching & load balancing No real-time support, slightly complex
In-Process (no external address) Embedded, testing No serialization, ultra-fast In-process only

STDIO SSE StreamableHTTP


🛠️ Development Guide

As this project is built on the Nunu architecture, it’s recommended to understand the framework before development.


📡 MCP Server Development

See the MCP-GO Server Docs

This project enables three protocols by default: STDIO, SSE, StreamableHTTP. You can modify or disable them as needed:

// File: internal/server/mcp.go

func setupSrv(logger *log.Logger) *servermcp.Server {
	mcpServer := server.NewMCPServer(
		"example-servers/everything",
		"1.0.0",
		server.WithResourceCapabilities(true, true),
		server.WithPromptCapabilities(true),
		server.WithToolCapabilities(true),
		server.WithLogging(),
		server.WithHooks(newHooks(logger)),
	)

	return servermcp.NewServer(logger,
		servermcp.WithMCPSrv(mcpServer),

		// STDIO
		servermcp.WithStdioSrv(true),

		// SSE
		servermcp.WithSSESrv(":3001", server.NewSSEServer(
			mcpServer,
			server.WithSSEEndpoint("/sse"),
		)),

		// StreamableHTTP
		servermcp.WithStreamableHTTPSrv(":3002", server.NewStreamableHTTPServer(
			mcpServer,
			server.WithEndpointPath("/mcp"),
		)),
	)
}

Call Flow Diagram

client
  ↓
internal/server/mcp.go
  ↓
internal/handler/example.go
  ↓
internal/service/example.go
  ↓
internal/repository/example.go
  ↓
DB / Third-party services

Note:

If MCP STDIO is enabled, no logs should be printed to the terminal, or the communication will break. You must configure logs to write only to a file:

# File: config/local.yml
log:
  log_level: debug
  mode: file               # file, console, or both
  encoding: console        # json or console
  log_file_name: "./storage/logs/server.log"
  max_backups: 30
  max_age: 7
  max_size: 1024
  compress: true

To view logs in Unix systems:

tail -f storage/logs/server.log

🤝 Integrating MCP Client

See MCP-GO Client Docs

You can register a client in internal/repository/repository.go, for example:

func NewStdioMCPClient() *client.Client {
	c, err := client.NewStdioMCPClient(
		"go", []string{}, "run", "/path/to/server/main.go",
	)
	if err != nil {
		panic(err)
	}
	defer c.Close()
	return c
}

To integrate other protocols or clients, follow similar patterns used in redis, gorm, etc.


📚 Resources


Final Notes

Currently, there is no official Golang SDK provided by the MCP organization. The most mature open-source project is mark3labs/mcp-go.

We’re looking forward to an official Golang SDK, and this project will be updated accordingly once it’s released.

Official Go MCP SDK: https://github.com/golang/tools/tree/master/internal/mcp


📄 License

Nunu is released under the MIT License — free to use and contribute!

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About Nunu Layout MCP

How do I install Nunu Layout MCP?

Run npx nunu-layout-mcp, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Nunu Layout MCP safe to use with an AI agent?

Its trust score is 54 out of 100 (fair). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Nunu Layout MCP still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.