agent-friend
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| alert_alert_define | [alert] Define a named alert rule. Conditions: gt/gte/lt/lte/eq/ne/between/outside/contains/not_contains/is_empty/is_truthy. Severity: info/warning/error/critical. |
| alert_alert_evaluate | [alert] Evaluate a value against a named rule. Returns {fired, severity, value, timestamp}. |
| alert_alert_list | [alert] List all alert rules. Returns {rules, count}. |
| alert_alert_get | [alert] Get full definition of an alert rule by name. |
| alert_alert_delete | [alert] Delete an alert rule by name. |
| alert_alert_history | [alert] Retrieve fired alert history. Filter by rule name, severity, limit. Returns {events, count, total}. |
| alert_alert_clear | [alert] Clear alert history for a rule (or all if rule omitted). Returns {cleared, rule}. |
| alert_alert_stats | [alert] Aggregate stats per rule: fire_count, last_fired. Returns {stats, total_fires}. |
| audit_audit_log | [audit] Record a structured audit event. Returns {id, type, actor, resource, timestamp}. |
| audit_audit_search | [audit] Filter the audit log. Filters: event_type, actor, resource, severity, outcome, after, before, text. Returns {events, count, total}. |
| audit_audit_get | [audit] Retrieve a single event by ID. |
| audit_audit_stats | [audit] Aggregate stats: by_type, by_actor, by_resource, by_severity, by_outcome. |
| audit_audit_export | [audit] Export events as JSON lines. Filter by event_type, after, before. Returns {lines, count}. |
| audit_audit_clear | [audit] Clear events. before=timestamp to clear only older events. Returns {cleared, remaining}. |
| audit_audit_types | [audit] List distinct event types in the log. Returns {types, count}. |
| audit_audit_timeline | [audit] Bucket events by hour or day for trend analysis. Returns {buckets, total}. |
| batch_fn_define | [batch] Register a named function. |
| batch_batch_map | [batch] Apply fn to each item. on_error: null/skip/raise. Returns {results, ok, errors, total, elapsed_ms}. |
| batch_batch_filter | [batch] Keep items where fn(item) is truthy. Returns {results, total, kept, rejected}. |
| batch_batch_reduce | [batch] Fold items with fn(acc, item). initial=starting accumulator. Built-in reducers: sum/product/max/min/concat. |
| batch_batch_partition | [batch] Split into passing (truthy) and failing (falsy) lists. Returns {passing, failing, pass_count, fail_count}. |
| batch_batch_chunk | [batch] Split list into chunks of |
| batch_batch_zip | [batch] Zip multiple lists into list of dicts with given keys. Returns {results, count}. |
| batch_batch_stats | [batch] Stats from last batch_map run: ok, errors, total, elapsed_ms. |
| batch_builtin_fns | [batch] List built-in function names (fns + reducers). |
| browser_browse | [browser] Open a URL and return the page text content. |
| cache_cache_get | [cache] Retrieve a previously cached value by key. Returns the value string, or null if the key does not exist or has expired. |
| cache_cache_set | [cache] Store a value in the cache under the given key. Use ttl_seconds to control how long the value is valid. Pass ttl_seconds=null for a value that never expires. |
| cache_cache_delete | [cache] Remove a single key from the cache. |
| cache_cache_clear | [cache] Remove ALL entries from the cache. |
| cache_cache_stats | [cache] Return cache statistics: number of active entries, expired entries, and session hit/miss counts. |
| chunker_chunk_text | [chunker] Split text into chunks. mode: chars/tokens/sentences/paragraphs. Returns [{index, text, char_count, token_estimate}]. |
| chunker_chunk_list | [chunker] Split a list into batches of size. Returns [{index, items, count}]. |
| chunker_chunk_by_separator | [chunker] Split text on a custom separator. Optionally merge parts up to max_chars. |
| chunker_chunk_sliding_window | [chunker] Sliding window over text. Returns [{index, text, start, end}]. |
| chunker_chunk_stats | [chunker] Return stats about text: char_count, token_estimate, line_count, sentence_count, paragraph_count, word_count. |
| code_run_code | [code] Execute code and return the output. Supported languages: python, bash. |
| config_config_set | [config] Set a config key (dot-notation OK). Returns {ok, key, value}. |
| config_config_get | [config] Get a config value. as_type coerces: int/float/bool/str/json. |
| config_config_defaults | [config] Set multiple defaults — only sets keys not already present. |
| config_config_load_env | [config] Load environment variables into config. prefix filters by prefix. |
| config_config_list | [config] List all keys, optionally filtered by prefix. |
| config_config_delete | [config] Delete a specific config key. |
| config_config_dump | [config] Export all config as a JSON object. |
| config_config_require | [config] Assert required keys exist. Returns {ok: bool, missing: [...]}. |
| config_config_drop | [config] Delete an entire named config store. |
| config_config_list_stores | [config] List all named config stores with key counts. |
| crypto_generate_token | [crypto] Generate a cryptographically secure random token. Returns a hex string. length is the number of random bytes (output will be 2× as long in hex). Default 32 bytes → 64-char hex. |
| crypto_hash_data | [crypto] Hash a string using the specified algorithm. Returns the hex digest. Supported: md5, sha1, sha224, sha256, sha384, sha512. Default: sha256. |
| crypto_hmac_sign | [crypto] Sign data with a secret key using HMAC. Returns the hex digest. Commonly used to sign webhook payloads. Supported algorithms: sha1, sha224, sha256, sha384, sha512. |
| crypto_hmac_verify | [crypto] Verify an HMAC signature against data and a secret key. Returns true if valid, false otherwise. Uses constant-time comparison to prevent timing attacks. |
| crypto_uuid4 | [crypto] Generate a random UUID (version 4). Returns a string like '550e8400-e29b-41d4-a716-446655440000'. |
| crypto_base64_encode | [crypto] Base64-encode a string. Returns the encoded string. |
| crypto_base64_decode | [crypto] Decode a base64-encoded string. Returns the original string. |
| crypto_random_bytes | [crypto] Generate random bytes and return as hex. Useful for nonces, salts, or IVs. |
| database_db_query | [database] Run a SQL SELECT query and return results as a table of rows. |
| database_db_execute | [database] Run a SQL statement that modifies the database (INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE, etc.). |
| database_db_tables | [database] List all tables in the database. |
| database_db_schema | [database] Get the CREATE TABLE statement for a specific table. |
| datetime_now | [datetime] Return the current date and time as ISO 8601. |
| datetime_parse | [datetime] Parse a date/time string and return ISO 8601. |
| datetime_format_dt | [datetime] Format a datetime string using a strftime format. |
| datetime_diff | [datetime] Compute the absolute difference between two datetime strings. |
| datetime_add_duration | [datetime] Add (or subtract) a duration to a datetime. |
| datetime_convert_timezone | [datetime] Convert a datetime string from one timezone to another. |
| datetime_to_timestamp | [datetime] Convert a datetime string to a Unix timestamp (seconds since epoch). |
| datetime_from_timestamp | [datetime] Convert a Unix timestamp to an ISO 8601 datetime string. |
| diff_diff_text | [diff] Compare two text strings and return a unified diff. Returns {unified: str, added_lines: int, removed_lines: int, unchanged_lines: int, has_changes: bool}. |
| diff_diff_files | [diff] Compare two files and return a unified diff. Returns {unified: str, added_lines: int, removed_lines: int, unchanged_lines: int, has_changes: bool}. Returns an error if either file cannot be read. |
| diff_diff_words | [diff] Compare two strings at the word level and return an inline diff. Added words are prefixed with '+', removed words with '-'. Returns {inline: str, added_words: int, removed_words: int}. |
| diff_diff_stats | [diff] Compute similarity and change statistics between two texts. Returns {similarity: float (0-1), added_chars: int, removed_chars: int, added_lines: int, removed_lines: int, line_similarity: float}. |
| diff_diff_similar | [diff] Find the most similar strings to a query from a list of candidates. Returns [{text, score}, ...] sorted by similarity, highest first. Useful for fuzzy matching and near-duplicate detection. |
| env_env_get | [env] Get the value of a single environment variable. Returns the value as a string, or 'null' if not set. Sensitive variables (containing KEY, TOKEN, SECRET, etc.) are hidden and return '[hidden]'. |
| env_env_set | [env] Set an environment variable for the current process. Visible to child processes spawned after this call. Does not affect the parent shell. |
| env_env_list | [env] List environment variables as a JSON object. Pass a prefix to filter (e.g. 'AWS_' lists all AWS vars). Sensitive variables are excluded from the output. |
| env_env_check | [env] Check whether all required environment variables are set. Returns {ok: bool, present: [...], missing: [...]}. Use this to verify API keys before attempting to call external services. |
| env_env_load | [env] Load key=value pairs from a .env file into the current process environment. Existing variables are not overwritten. Returns {loaded: [...], skipped: [...], errors: [...]}. |
| event_bus_bus_subscribe | [event_bus] Subscribe to a topic. Use topic='*' to receive all events. subscriber is a name string identifying who receives the events. |
| event_bus_bus_unsubscribe | [event_bus] Unsubscribe from a topic. |
| event_bus_bus_publish | [event_bus] Publish an event to a topic. All subscribers (and wildcard subscribers) are notified. Returns {published, event_id, notified: [subscriber names]}. |
| event_bus_bus_history | [event_bus] Return the n most recent events for a topic (oldest first). |
| event_bus_bus_topics | [event_bus] List all topics with their subscriber counts and event counts. |
| event_bus_bus_subscribers | [event_bus] List all subscribers to a specific topic. |
| event_bus_bus_stats | [event_bus] Return total events published and per-subscriber call counts. |
| event_bus_bus_clear | [event_bus] Clear history and subscribers for a topic, or all topics if topic is omitted. |
| fetch_fetch | [fetch] Fetch the text content of a URL. HTML pages are automatically converted to readable plain text. Use 'search' to find URLs; use 'fetch' to read a specific URL. |
| file_file_read | [file] Read a file and return its contents. Files larger than 32 KB are truncated. |
| file_file_write | [file] Write content to a file, overwriting any existing content. |
| file_file_append | [file] Append content to an existing file (creates it if missing). |
| file_file_list | [file] List files and directories at a given path. |
| format_format_bytes | [format] Format a byte count: 1234567 → '1.2 MB'. binary=true for KiB/MiB. |
| format_format_duration | [format] Format seconds as a human string: 3661 → '1h 1m 1s'. verbose=true for full words. |
| format_format_number | [format] Format with thousands separators: 1234567.89 → '1,234,567.89'. |
| format_format_percent | [format] Format as percent: 0.87 → '87.0%'. Ratios (|v|<1) multiplied by 100. |
| format_format_currency | [format] Format as currency: 1234.5 → '$1,234.50'. currency: USD/EUR/GBP/JPY/... |
| format_format_ordinal | [format] 1 → '1st', 2 → '2nd', 3 → '3rd', 11 → '11th', 21 → '21st'. |
| format_format_plural | [format] Pluralize: format_plural(3, 'item') → '3 items'. Optional custom plural form. |
| format_format_truncate | [format] Truncate text to max_length, appending suffix (default '…'). |
| format_format_pad | [format] Pad text to width. align: left/right/center. |
| format_format_table | [format] Render a JSON array of dicts as a plain-text table. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/0-co/agent-friend'
If you have feedback or need assistance with the MCP directory API, please join our Discord server