载入中...
搜索中...
未找到

Embedded Model Context Protocol (MCP) server for AI-assisted game development. 更多...

#include <McpServer.hpp>

Public 类型

enum class  Transport { None , Tcp , Stdio }
 

Public 成员函数

 McpServer (const McpServer &)=delete
 
McpServeroperator= (const McpServer &)=delete
 
int listen (uint16_t port)
 Bind TCP listen port (0 = ephemeral). Returns bound port or 0 on failure.
 
bool listenStdio (std::istream &in=std::cin, std::ostream &out=std::cout)
 Switch to stdio transport (MCP stdio server). A reader thread pulls newline-delimited JSON from in into a queue that poll() drains on the caller thread, so tool execution stays on the main / render thread. Responses are written to out (stdout by default — keep it MCP-only). Returns true when the transport starts.
 
void stop ()
 
bool isListening () const
 
int port () const
 
bool hasClient () const
 
Transport transport () const
 
bool stdinClosed () const
 True once the stdio input reached EOF (host should exit).
 
void poll ()
 Accept clients + process one request batch (non-blocking).
 
void setGameRoot (std::string root)
 Game / project directory hint for agents.
 
const std::string & gameRoot () const
 

静态 Public 成员函数

static McpServerinstance ()
 

友元

template<typename >
struct Immortal
 

详细描述

Embedded Model Context Protocol (MCP) server for AI-assisted game development.

Speaks JSON-RPC 2.0 over TCP with newline-delimited messages (same wire shape as MCP stdio; no embedded newlines in payloads). Start with listen(port) after DevTool::attach; call poll() from the game loop / pause pump.

Capabilities: tools, resources, prompts for AI test workflows. Cursor / Claude Desktop can attach via tools/eve-mcp (stdio ↔ TCP bridge).

Desktop-only (part of EVDevTools); not shipped on Android/iOS trimmed runtimes.

在文件 McpServer.hpp35 行定义.

成员枚举类型说明

◆ Transport

enum class eve::dev::McpServer::Transport
strong
枚举值
None 
Tcp 
Stdio 

在文件 McpServer.hpp42 行定义.

构造及析构函数说明

◆ McpServer()

eve::dev::McpServer::McpServer ( const McpServer )
delete

成员函数说明

◆ gameRoot()

const std::string & eve::dev::McpServer::gameRoot ( ) const
inline

在文件 McpServer.hpp67 行定义.

◆ hasClient()

bool eve::dev::McpServer::hasClient ( ) const
inline

在文件 McpServer.hpp57 行定义.

◆ instance()

McpServer & eve::dev::McpServer::instance ( )
static

◆ isListening()

bool eve::dev::McpServer::isListening ( ) const
inline

在文件 McpServer.hpp55 行定义.

◆ listen()

int eve::dev::McpServer::listen ( uint16_t  port)

Bind TCP listen port (0 = ephemeral). Returns bound port or 0 on failure.

在文件 McpServer.cpp1553 行定义.

引用了 eve::dev::AiPanel::addLog(), eve::dev::AiPanel::instance(), None, port(), setGameRoot(), eve::dev::AiPanel::setMcpConnected(), eve::dev::AiPanel::setMcpPort(), stop() , 以及 Tcp.

被这些函数引用 eve::dev::DevTool::startMcp().

◆ listenStdio()

bool eve::dev::McpServer::listenStdio ( std::istream &  in = std::cin,
std::ostream &  out = std::cout 
)

Switch to stdio transport (MCP stdio server). A reader thread pulls newline-delimited JSON from in into a queue that poll() drains on the caller thread, so tool execution stays on the main / render thread. Responses are written to out (stdout by default — keep it MCP-only). Returns true when the transport starts.

在文件 McpServer.cpp1583 行定义.

引用了 line, Stdio , 以及 stop().

◆ operator=()

McpServer & eve::dev::McpServer::operator= ( const McpServer )
delete

◆ poll()

void eve::dev::McpServer::poll ( )

Accept clients + process one request batch (non-blocking).

在文件 McpServer.cpp1662 行定义.

引用了 line.

被这些函数引用 eve::dev::DevTool::poll().

◆ port()

int eve::dev::McpServer::port ( ) const
inline

在文件 McpServer.hpp56 行定义.

被这些函数引用 listen().

◆ setGameRoot()

void eve::dev::McpServer::setGameRoot ( std::string  root)

Game / project directory hint for agents.

在文件 McpServer.cpp1545 行定义.

引用了 c.

被这些函数引用 listen().

◆ stdinClosed()

bool eve::dev::McpServer::stdinClosed ( ) const
inline

True once the stdio input reached EOF (host should exit).

在文件 McpServer.hpp60 行定义.

◆ stop()

void eve::dev::McpServer::stop ( )

在文件 McpServer.cpp1625 行定义.

被这些函数引用 listen(), listenStdio() , 以及 eve::dev::DevTool::stopMcp().

◆ transport()

Transport eve::dev::McpServer::transport ( ) const
inline

在文件 McpServer.hpp58 行定义.

友元及相关函数文档

◆ Immortal

template<typename >
friend struct Immortal
friend

在文件 McpServer.hpp71 行定义.


该类的文档由以下文件生成: