Skip to main content
Glama

read_file

Read text or binary file contents from your Xcode project and allowed directories. Specify file path, encoding, or binary output for base64-encoded data.

Instructions

Reads the contents of a file within the active project or allowed directories.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asBinaryNoIf true, read the file as binary and return base64-encoded content. Useful for images and other binary files.
encodingNoEncoding to use when reading the file (e.g., 'utf-8', 'latin1'). Default is 'utf-8'.
filePathYesPath to the file to read. Can be absolute, relative to active directory, or use ~ for home directory.
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It reveals a path scope restriction but does not mention return format, error handling, or permission requirements. 'Reads' implies a safe read operation, but missing details like binary/text handling are left to the schema.

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 sentence that front-loads the verb and resource, with no redundant or extraneous text. It is concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with three well-documented parameters, but with no annotations or output schema, the description could more fully address usage guidance (e.g., when to prefer it over search_in_files) and output/error behavior. It is minimally viable for a straightforward read operation but leaves gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for filePath, asBinary, and encoding. The description adds valuable meaning beyond the schema by specifying that the file must be within the active project or allowed directories, qualifying the filePath parameter.

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 the specific verb 'Reads' and resource 'contents of a file', clearly distinguishing it from sibling tools like write_file, copy_file, and delete_file. The added scope constraint 'within the active project or allowed directories' provides precision beyond the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a context constraint (active project/allowed directories) but does not specify when to use this tool versus alternatives like search_in_files or get_file_info. No explicit alternatives or exclusions are mentioned, leaving usage to be inferred.

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

Install Server

Other Tools

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/r-huijts/xcode-mcp-server'

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